home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Basic / Visual Basic.60 / COMMON / TOOLS / VB / XTNSBLTY / VBIDE.H
Encoding:
C/C++ Source or Header  |  1998-05-14  |  115.8 KB  |  3,826 lines

  1. /* This header file machine-generated by mktyplib.exe */
  2. /* Interface to type library: VBIDE */
  3.  
  4. #ifndef _VBIDE_H_
  5. #define _VBIDE_H_
  6.  
  7. DEFINE_GUID(LIBID_VBIDE,0xEF404E00L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  8. #ifndef BEGIN_INTERFACE
  9. #define BEGIN_INTERFACE
  10. #endif
  11.  
  12. interface VBEOBJ;
  13.  
  14. interface _VBProjects;
  15.  
  16. #ifdef __cplusplus
  17. class VBProjects;
  18. #endif
  19.  
  20. interface _VBProject;
  21.  
  22. #ifdef __cplusplus
  23. class VBProject;
  24. #endif
  25.  
  26. interface _VBComponents;
  27.  
  28. #ifdef __cplusplus
  29. class VBComponents;
  30. #endif
  31.  
  32. interface _VBComponent;
  33.  
  34. #ifdef __cplusplus
  35. class VBComponent;
  36. #endif
  37.  
  38. interface VBForm;
  39.  
  40. interface _ContainedVBControls;
  41.  
  42. #ifdef __cplusplus
  43. class ContainedVBControls;
  44. #endif
  45.  
  46. interface _VBControls;
  47.  
  48. #ifdef __cplusplus
  49. class VBControls;
  50. #endif
  51.  
  52. interface _SelectedControls;
  53.  
  54. #ifdef __cplusplus
  55. class SelectedVBControls;
  56. #endif
  57.  
  58. interface VBControl;
  59.  
  60. interface _AddIns;
  61.  
  62. #ifdef __cplusplus
  63. class AddIns;
  64. #endif
  65.  
  66. interface AddIn;
  67.  
  68. interface _Windows;
  69.  
  70. #ifdef __cplusplus
  71. class Windows;
  72. #endif
  73.  
  74. interface Window;
  75.  
  76. interface _LinkedWindows;
  77.  
  78. #ifdef __cplusplus
  79. class LinkedWindows;
  80. #endif
  81.  
  82. interface _Properties;
  83.  
  84. #ifdef __cplusplus
  85. class Properties;
  86. #endif
  87.  
  88. interface Events;
  89.  
  90. interface _VBProjectsEvents;
  91.  
  92. #ifdef __cplusplus
  93. class VBProjectsEvents;
  94. #endif
  95.  
  96. interface _VBComponentsEvents;
  97.  
  98. #ifdef __cplusplus
  99. class VBComponentsEvents;
  100. #endif
  101.  
  102. interface _ReferencesEvents;
  103.  
  104. #ifdef __cplusplus
  105. class ReferencesEvents;
  106. #endif
  107.  
  108. #ifdef __cplusplus
  109. class VBControlsEvents;
  110. #endif
  111.  
  112. #ifdef __cplusplus
  113. class SelectedVBControlsEvents;
  114. #endif
  115.  
  116. #ifdef __cplusplus
  117. class FileControlEvents;
  118. #endif
  119.  
  120. #ifdef __cplusplus
  121. class CommandBarEvents;
  122. #endif
  123.  
  124. #ifdef __cplusplus
  125. class CodeModule;
  126. #endif
  127.  
  128. #ifdef __cplusplus
  129. class CodePanes;
  130. #endif
  131.  
  132. #ifdef __cplusplus
  133. class CodePane;
  134. #endif
  135.  
  136. interface Reference;
  137.  
  138. interface _References;
  139.  
  140. #ifdef __cplusplus
  141. class References;
  142. #endif
  143.  
  144. #ifdef __cplusplus
  145. class Members;
  146. #endif
  147.  
  148. interface Member;
  149.  
  150. interface Application;
  151.  
  152. interface _ProjectTemplate;
  153.  
  154. interface _Components;
  155.  
  156. #ifdef __cplusplus
  157. class Components;
  158. #endif
  159.  
  160. interface _Component;
  161.  
  162. #ifdef __cplusplus
  163. class Component;
  164. #endif
  165.  
  166. interface SelectedComponents;
  167.  
  168. interface FormTemplate;
  169.  
  170. interface ControlTemplate;
  171.  
  172. interface ControlTemplates;
  173.  
  174. interface SelectedControlTemplates;
  175.  
  176. interface _MenuLine;
  177.  
  178. interface SubMenu;
  179.  
  180. interface _FileControl;
  181.  
  182. DEFINE_GUID(IID_Application,0xEF404E01L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  183.  
  184. /* Definition of interface: Application */
  185. #undef INTERFACE
  186. #define INTERFACE Application
  187.  
  188. DECLARE_INTERFACE_(Application, IDispatch)
  189. {
  190. BEGIN_INTERFACE
  191. #ifndef NO_BASEINTERFACE_FUNCS
  192.  
  193.     /* IUnknown methods */
  194.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  195.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  196.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  197.  
  198.     /* IDispatch methods */
  199.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  200.  
  201.     STDMETHOD(GetTypeInfo)(
  202.       THIS_
  203.       UINT itinfo,
  204.       LCID lcid,
  205.       ITypeInfo FAR* FAR* pptinfo) PURE;
  206.  
  207.     STDMETHOD(GetIDsOfNames)(
  208.       THIS_
  209.       REFIID riid,
  210.       OLECHAR FAR* FAR* rgszNames,
  211.       UINT cNames,
  212.       LCID lcid,
  213.       DISPID FAR* rgdispid) PURE;
  214.  
  215.     STDMETHOD(Invoke)(
  216.       THIS_
  217.       DISPID dispidMember,
  218.       REFIID riid,
  219.       LCID lcid,
  220.       WORD wFlags,
  221.       DISPPARAMS FAR* pdispparams,
  222.       VARIANT FAR* pvarResult,
  223.       EXCEPINFO FAR* pexcepinfo,
  224.       UINT FAR* puArgErr) PURE;
  225. #endif
  226.  
  227.     /* Application methods */
  228.     STDMETHOD(get_Name)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  229.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  230.     STDMETHOD(get_Parent)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  231.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  232.     STDMETHOD(get_LastUsedPath)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  233.     STDMETHOD(put_LastUsedPath)(THIS_ BSTR bstrNewPath) PURE;
  234.     STDMETHOD(get_Version)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  235.     STDMETHOD(get_ActiveProject)(THIS_ _ProjectTemplate FAR* FAR* lppptReturn) PURE;
  236.     STDMETHOD(get_FileControl)(THIS_ _FileControl FAR* FAR* lppfcReturn) PURE;
  237.     STDMETHOD(get_AddInMenu)(THIS_ SubMenu FAR* FAR* lppmReturn) PURE;
  238.     STDMETHOD(LoadProject)(THIS_ BSTR FileName, VARIANT_BOOL ReplaceCurrent, _ProjectTemplate FAR* FAR* lppptReturn) PURE;
  239.     STDMETHOD(get_ReadOnlyMode)(THIS_ short FAR* pReadOnlyMode) PURE;
  240.     STDMETHOD(put_ReadOnlyMode)(THIS_ short ReadOnlyMode) PURE;
  241. };
  242.  
  243. typedef enum vbextFileTypes {
  244.     vbextFileTypeForm = 0,
  245.     vbextFileTypeModule = 1,
  246.     vbextFileTypeClass = 2,
  247.     vbextFileTypeProject = 3,
  248.     vbextFileTypeExe = 4,
  249.     vbextFileTypeFrx = 5,
  250.     vbextFileTypeRes = 6,
  251.     vbextFileTypeUserControl = 7,
  252.     vbextFileTypePropertyPage = 8,
  253.     vbextFileTypeDocObject = 9,
  254.     vbextFileTypeBinary = 10,
  255.     vbextFileTypeGroupProject = 11,
  256.     vbextFileTypeDesigners = 12
  257. } vbextFileTypes;
  258.  
  259. typedef enum vbext_FileType {
  260.     vbext_ft_Form = 0,
  261.     vbext_ft_Module = 1,
  262.     vbext_ft_Class = 2,
  263.     vbext_ft_Project = 3,
  264.     vbext_ft_Exe = 4,
  265.     vbext_ft_Frx = 5,
  266.     vbext_ft_Res = 6,
  267.     vbext_ft_UserControl = 7,
  268.     vbext_ft_PropertyPage = 8,
  269.     vbext_ft_DocObject = 9,
  270.     vbext_ft_Binary = 10,
  271.     vbext_ft_GroupProject = 11,
  272.     vbext_ft_Designers = 12
  273. } vbext_FileType;
  274.  
  275. typedef enum vbextWrite {
  276.     vbextWriteSuccess = 0,
  277.     vbextWriteCancelled = 1,
  278.     vbextWriteFailed = 2
  279. } vbextWrite;
  280.  
  281. typedef enum vbextDisconnectMode {
  282.     vbextHostShutdown = 0,
  283.     vbextUserClosed = 1
  284. } vbextDisconnectMode;
  285.  
  286. typedef enum vbext_VBADisplayModel {
  287.     vbext_dm_SDI = 0,
  288.     vbext_dm_MDI = 1
  289. } vbext_VBADisplayModel;
  290.  
  291. DEFINE_GUID(IID_VBEOBJ,0x0002E100L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  292.  
  293. /* Definition of interface: VBEOBJ */
  294. #undef INTERFACE
  295. #define INTERFACE VBEOBJ
  296.  
  297. DECLARE_INTERFACE_(VBEOBJ, IDispatch)
  298. {
  299. BEGIN_INTERFACE
  300. #ifndef NO_BASEINTERFACE_FUNCS
  301.  
  302.     /* IUnknown methods */
  303.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  304.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  305.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  306.  
  307.     /* IDispatch methods */
  308.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  309.  
  310.     STDMETHOD(GetTypeInfo)(
  311.       THIS_
  312.       UINT itinfo,
  313.       LCID lcid,
  314.       ITypeInfo FAR* FAR* pptinfo) PURE;
  315.  
  316.     STDMETHOD(GetIDsOfNames)(
  317.       THIS_
  318.       REFIID riid,
  319.       OLECHAR FAR* FAR* rgszNames,
  320.       UINT cNames,
  321.       LCID lcid,
  322.       DISPID FAR* rgdispid) PURE;
  323.  
  324.     STDMETHOD(Invoke)(
  325.       THIS_
  326.       DISPID dispidMember,
  327.       REFIID riid,
  328.       LCID lcid,
  329.       WORD wFlags,
  330.       DISPPARAMS FAR* pdispparams,
  331.       VARIANT FAR* pvarResult,
  332.       EXCEPINFO FAR* pexcepinfo,
  333.       UINT FAR* puArgErr) PURE;
  334. #endif
  335.  
  336.     /* VBEOBJ methods */
  337.     STDMETHOD(get_Name)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  338.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  339.     STDMETHOD(get_LastUsedPath)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  340.     STDMETHOD(put_LastUsedPath)(THIS_ BSTR bstrNewPath) PURE;
  341.     STDMETHOD(get_Version)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  342.     STDMETHOD(get_ReadOnlyMode)(THIS_ short FAR* pReadOnlyMode) PURE;
  343.     STDMETHOD(put_ReadOnlyMode)(THIS_ short ReadOnlyMode) PURE;
  344.     STDMETHOD(get_VBProjects)(THIS_ VBProjects FAR* FAR* lppptReturn) PURE;
  345.     STDMETHOD(get_CommandBars)(THIS_ CommandBars FAR* FAR* ppcbs) PURE;
  346.     STDMETHOD(get_CodePanes)(THIS_ CodePanes FAR* FAR* ppCodePanes) PURE;
  347.     STDMETHOD(get_Windows)(THIS_ Windows FAR* FAR* ppwnsVBWindows) PURE;
  348.     STDMETHOD(get_Events)(THIS_ Events FAR* FAR* ppevtEvents) PURE;
  349.     STDMETHOD(get_AddIns)(THIS_ AddIns FAR* FAR* lpppAddIns) PURE;
  350.     STDMETHOD(get_ActiveVBProject)(THIS_ VBProject FAR* FAR* lppptReturn) PURE;
  351.     STDMETHOD(putref_ActiveVBProject)(THIS_ VBProject FAR* lppptReturn) PURE;
  352.     STDMETHOD(get_SelectedVBComponent)(THIS_ VBComponent FAR* FAR* lppscReturn) PURE;
  353.     STDMETHOD(get_TemplatePath)(THIS_ BSTR FAR* lpbstrPath) PURE;
  354.     STDMETHOD(get_MainWindow)(THIS_ Window FAR* FAR* ppwin) PURE;
  355.     STDMETHOD(get_ActiveWindow)(THIS_ Window FAR* FAR* ppwinActive) PURE;
  356.     STDMETHOD(get_ActiveCodePane)(THIS_ CodePane FAR* FAR* ppCodePane) PURE;
  357.     STDMETHOD(putref_ActiveCodePane)(THIS_ CodePane FAR* ppCodePane) PURE;
  358.     STDMETHOD(Quit)(THIS) PURE;
  359.     STDMETHOD(get_DisplayModel)(THIS_ enum vbext_VBADisplayModel FAR* lpDispModel) PURE;
  360.     STDMETHOD(put_DisplayModel)(THIS_ enum vbext_VBADisplayModel DispModel) PURE;
  361.     STDMETHOD(get_Reserved0)(THIS_ AddIns FAR* FAR* lpppAddIns) PURE;
  362. };
  363.  
  364. DEFINE_GUID(IID__FileControl,0xEF404E08L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  365.  
  366. /* Definition of interface: _FileControl */
  367. #undef INTERFACE
  368. #define INTERFACE _FileControl
  369.  
  370. DECLARE_INTERFACE_(_FileControl, IDispatch)
  371. {
  372. BEGIN_INTERFACE
  373. #ifndef NO_BASEINTERFACE_FUNCS
  374.  
  375.     /* IUnknown methods */
  376.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  377.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  378.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  379.  
  380.     /* IDispatch methods */
  381.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  382.  
  383.     STDMETHOD(GetTypeInfo)(
  384.       THIS_
  385.       UINT itinfo,
  386.       LCID lcid,
  387.       ITypeInfo FAR* FAR* pptinfo) PURE;
  388.  
  389.     STDMETHOD(GetIDsOfNames)(
  390.       THIS_
  391.       REFIID riid,
  392.       OLECHAR FAR* FAR* rgszNames,
  393.       UINT cNames,
  394.       LCID lcid,
  395.       DISPID FAR* rgdispid) PURE;
  396.  
  397.     STDMETHOD(Invoke)(
  398.       THIS_
  399.       DISPID dispidMember,
  400.       REFIID riid,
  401.       LCID lcid,
  402.       WORD wFlags,
  403.       DISPPARAMS FAR* pdispparams,
  404.       VARIANT FAR* pvarResult,
  405.       EXCEPINFO FAR* pexcepinfo,
  406.       UINT FAR* puArgErr) PURE;
  407. #endif
  408.  
  409.     /* _FileControl methods */
  410.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  411.     STDMETHOD(get_Parent)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  412.     STDMETHOD(ConnectEvents)(THIS_ IDispatch * pdspSink, long FAR* lplReturn) PURE;
  413.     STDMETHOD(DisconnectEvents)(THIS_ long hConnection) PURE;
  414. };
  415.  
  416. DEFINE_GUID(DIID__FileControlEvents,0xEF404E0AL,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  417.  
  418. /* Definition of dispatch interface: _FileControlEvents */
  419. #undef INTERFACE
  420. #define INTERFACE _FileControlEvents
  421.  
  422. DECLARE_INTERFACE_(_FileControlEvents, IDispatch)
  423. {
  424. BEGIN_INTERFACE
  425. #ifndef NO_BASEINTERFACE_FUNCS
  426.  
  427.     /* IUnknown methods */
  428.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  429.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  430.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  431.  
  432.     /* IDispatch methods */
  433.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  434.  
  435.     STDMETHOD(GetTypeInfo)(
  436.       THIS_
  437.       UINT itinfo,
  438.       LCID lcid,
  439.       ITypeInfo FAR* FAR* pptinfo) PURE;
  440.  
  441.     STDMETHOD(GetIDsOfNames)(
  442.       THIS_
  443.       REFIID riid,
  444.       OLECHAR FAR* FAR* rgszNames,
  445.       UINT cNames,
  446.       LCID lcid,
  447.       DISPID FAR* rgdispid) PURE;
  448.  
  449.     STDMETHOD(Invoke)(
  450.       THIS_
  451.       DISPID dispidMember,
  452.       REFIID riid,
  453.       LCID lcid,
  454.       WORD wFlags,
  455.       DISPPARAMS FAR* pdispparams,
  456.       VARIANT FAR* pvarResult,
  457.       EXCEPINFO FAR* pexcepinfo,
  458.       UINT FAR* puArgErr) PURE;
  459. #endif
  460.  
  461.     /* _FileControlEvents methods:
  462.     void AfterAddFile(BSTR FileName);
  463.     void AfterChangeFileName(short FileType, BSTR NewName, BSTR OldName);
  464.     void AfterCloseFile(SAFEARRAY FAR* FileNames);
  465.     void AfterWriteFile(BSTR FileName, short Result);
  466.     void AfterRemoveFile(BSTR FileName);
  467.     void BeforeLoadFile(SAFEARRAY FAR* FileNames);
  468.     void DoGetAddFileName(SAFEARRAY FAR* FileNames, VARIANT_BOOL FAR* CancelDefault);
  469.     void DoGetNewFileName(short FileType, BSTR FAR* NewName, BSTR OldName, VARIANT_BOOL FAR* CancelDefault);
  470.     void DoGetOpenProjectName(BSTR FAR* ProjectName, VARIANT_BOOL FAR* CancelDefault);
  471.     void RequestChangeFileName(short FileType, BSTR NewName, BSTR OldName, VARIANT_BOOL FAR* Cancel);
  472.     void RequestWriteFile(BSTR FileName, VARIANT_BOOL FAR* Cancel);
  473.     void AfterNewProject(BSTR ProjectName);
  474.     */
  475. };
  476.  
  477. DEFINE_GUID(CLSID_FileControl,0xEF404E0BL,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  478.  
  479. #ifdef __cplusplus
  480. class FileControl;
  481. #endif
  482.  
  483. DEFINE_GUID(IID_MenuItems,0xEF404E12L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  484.  
  485. /* Definition of interface: MenuItems */
  486. #undef INTERFACE
  487. #define INTERFACE MenuItems
  488.  
  489. DECLARE_INTERFACE_(MenuItems, IDispatch)
  490. {
  491. BEGIN_INTERFACE
  492. #ifndef NO_BASEINTERFACE_FUNCS
  493.  
  494.     /* IUnknown methods */
  495.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  496.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  497.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  498.  
  499.     /* IDispatch methods */
  500.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  501.  
  502.     STDMETHOD(GetTypeInfo)(
  503.       THIS_
  504.       UINT itinfo,
  505.       LCID lcid,
  506.       ITypeInfo FAR* FAR* pptinfo) PURE;
  507.  
  508.     STDMETHOD(GetIDsOfNames)(
  509.       THIS_
  510.       REFIID riid,
  511.       OLECHAR FAR* FAR* rgszNames,
  512.       UINT cNames,
  513.       LCID lcid,
  514.       DISPID FAR* rgdispid) PURE;
  515.  
  516.     STDMETHOD(Invoke)(
  517.       THIS_
  518.       DISPID dispidMember,
  519.       REFIID riid,
  520.       LCID lcid,
  521.       WORD wFlags,
  522.       DISPPARAMS FAR* pdispparams,
  523.       VARIANT FAR* pvarResult,
  524.       EXCEPINFO FAR* pexcepinfo,
  525.       UINT FAR* puArgErr) PURE;
  526. #endif
  527.  
  528.     /* MenuItems methods */
  529.     STDMETHOD(Item)(THIS_ BSTR Index, IDispatch * FAR* lppidReturn) PURE;
  530.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  531.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  532.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  533.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  534.     STDMETHOD(Add)(THIS_ BSTR bstrCaption, _MenuLine FAR* FAR* lppmlReturn) PURE;
  535.     STDMETHOD(AddMenu)(THIS_ BSTR bstrCaption, SubMenu FAR* FAR* lppmReturn) PURE;
  536.     STDMETHOD(Remove)(THIS_ IDispatch * MenuItem, long FAR* lpsReturn) PURE;
  537. };
  538.  
  539. DEFINE_GUID(IID_SubMenu,0xEF404E15L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  540.  
  541. /* Definition of interface: SubMenu */
  542. #undef INTERFACE
  543. #define INTERFACE SubMenu
  544.  
  545. DECLARE_INTERFACE_(SubMenu, IDispatch)
  546. {
  547. BEGIN_INTERFACE
  548. #ifndef NO_BASEINTERFACE_FUNCS
  549.  
  550.     /* IUnknown methods */
  551.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  552.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  553.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  554.  
  555.     /* IDispatch methods */
  556.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  557.  
  558.     STDMETHOD(GetTypeInfo)(
  559.       THIS_
  560.       UINT itinfo,
  561.       LCID lcid,
  562.       ITypeInfo FAR* FAR* pptinfo) PURE;
  563.  
  564.     STDMETHOD(GetIDsOfNames)(
  565.       THIS_
  566.       REFIID riid,
  567.       OLECHAR FAR* FAR* rgszNames,
  568.       UINT cNames,
  569.       LCID lcid,
  570.       DISPID FAR* rgdispid) PURE;
  571.  
  572.     STDMETHOD(Invoke)(
  573.       THIS_
  574.       DISPID dispidMember,
  575.       REFIID riid,
  576.       LCID lcid,
  577.       WORD wFlags,
  578.       DISPPARAMS FAR* pdispparams,
  579.       VARIANT FAR* pvarResult,
  580.       EXCEPINFO FAR* pexcepinfo,
  581.       UINT FAR* puArgErr) PURE;
  582. #endif
  583.  
  584.     /* SubMenu methods */
  585.     STDMETHOD(get_MenuItems)(THIS_ MenuItems FAR* FAR* lppmiReturn) PURE;
  586.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  587.     STDMETHOD(get_Parent)(THIS_ MenuItems FAR* FAR* lppmiReturn) PURE;
  588.     STDMETHOD(get_Caption)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  589.     STDMETHOD(put_Caption)(THIS_ BSTR bstrCaption) PURE;
  590.     STDMETHOD(get_Enabled)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  591.     STDMETHOD(put_Enabled)(THIS_ VARIANT_BOOL sEnabled) PURE;
  592. };
  593.  
  594. DEFINE_GUID(IID__MenuLine,0xEF404E18L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  595.  
  596. /* Definition of interface: _MenuLine */
  597. #undef INTERFACE
  598. #define INTERFACE _MenuLine
  599.  
  600. DECLARE_INTERFACE_(_MenuLine, IDispatch)
  601. {
  602. BEGIN_INTERFACE
  603. #ifndef NO_BASEINTERFACE_FUNCS
  604.  
  605.     /* IUnknown methods */
  606.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  607.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  608.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  609.  
  610.     /* IDispatch methods */
  611.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  612.  
  613.     STDMETHOD(GetTypeInfo)(
  614.       THIS_
  615.       UINT itinfo,
  616.       LCID lcid,
  617.       ITypeInfo FAR* FAR* pptinfo) PURE;
  618.  
  619.     STDMETHOD(GetIDsOfNames)(
  620.       THIS_
  621.       REFIID riid,
  622.       OLECHAR FAR* FAR* rgszNames,
  623.       UINT cNames,
  624.       LCID lcid,
  625.       DISPID FAR* rgdispid) PURE;
  626.  
  627.     STDMETHOD(Invoke)(
  628.       THIS_
  629.       DISPID dispidMember,
  630.       REFIID riid,
  631.       LCID lcid,
  632.       WORD wFlags,
  633.       DISPPARAMS FAR* pdispparams,
  634.       VARIANT FAR* pvarResult,
  635.       EXCEPINFO FAR* pexcepinfo,
  636.       UINT FAR* puArgErr) PURE;
  637. #endif
  638.  
  639.     /* _MenuLine methods */
  640.     STDMETHOD(get_Caption)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  641.     STDMETHOD(put_Caption)(THIS_ BSTR bstrCaption) PURE;
  642.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  643.     STDMETHOD(get_Parent)(THIS_ MenuItems FAR* FAR* lppmiReturn) PURE;
  644.     STDMETHOD(get_Enabled)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  645.     STDMETHOD(put_Enabled)(THIS_ VARIANT_BOOL sEnabled) PURE;
  646.     STDMETHOD(get_Checked)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  647.     STDMETHOD(put_Checked)(THIS_ VARIANT_BOOL fChecked) PURE;
  648.     STDMETHOD(get_HelpContextID)(THIS_ long FAR* lplReturn) PURE;
  649.     STDMETHOD(put_HelpContextID)(THIS_ long ulHelpID) PURE;
  650.     STDMETHOD(get_HelpFile)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  651.     STDMETHOD(put_HelpFile)(THIS_ BSTR bstrFileName) PURE;
  652.     STDMETHOD(ConnectEvents)(THIS_ IDispatch * pdspSink, long FAR* lplReturn) PURE;
  653.     STDMETHOD(DisconnectEvents)(THIS_ long hConnection) PURE;
  654. };
  655.  
  656. DEFINE_GUID(DIID_MenuLineEvents,0xEF404E1AL,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  657.  
  658. /* Definition of dispatch interface: MenuLineEvents */
  659. #undef INTERFACE
  660. #define INTERFACE MenuLineEvents
  661.  
  662. DECLARE_INTERFACE_(MenuLineEvents, IDispatch)
  663. {
  664. BEGIN_INTERFACE
  665. #ifndef NO_BASEINTERFACE_FUNCS
  666.  
  667.     /* IUnknown methods */
  668.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  669.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  670.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  671.  
  672.     /* IDispatch methods */
  673.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  674.  
  675.     STDMETHOD(GetTypeInfo)(
  676.       THIS_
  677.       UINT itinfo,
  678.       LCID lcid,
  679.       ITypeInfo FAR* FAR* pptinfo) PURE;
  680.  
  681.     STDMETHOD(GetIDsOfNames)(
  682.       THIS_
  683.       REFIID riid,
  684.       OLECHAR FAR* FAR* rgszNames,
  685.       UINT cNames,
  686.       LCID lcid,
  687.       DISPID FAR* rgdispid) PURE;
  688.  
  689.     STDMETHOD(Invoke)(
  690.       THIS_
  691.       DISPID dispidMember,
  692.       REFIID riid,
  693.       LCID lcid,
  694.       WORD wFlags,
  695.       DISPPARAMS FAR* pdispparams,
  696.       VARIANT FAR* pvarResult,
  697.       EXCEPINFO FAR* pexcepinfo,
  698.       UINT FAR* puArgErr) PURE;
  699. #endif
  700.  
  701.     /* MenuLineEvents methods:
  702.     void AfterClick(void);
  703.     */
  704. };
  705.  
  706. DEFINE_GUID(CLSID_MenuLine,0xEF404E1BL,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  707.  
  708. #ifdef __cplusplus
  709. class MenuLine;
  710. #endif
  711.  
  712. typedef enum vbext_WindowType {
  713.     vbext_wt_CodeWindow = 0,
  714.     vbext_wt_Designer = 1,
  715.     vbext_wt_Browser = 2,
  716.     vbext_wt_Watch = 3,
  717.     vbext_wt_Locals = 4,
  718.     vbext_wt_Immediate = 5,
  719.     vbext_wt_ProjectWindow = 6,
  720.     vbext_wt_PropertyWindow = 7,
  721.     vbext_wt_Find = 8,
  722.     vbext_wt_FindReplace = 9,
  723.     vbext_wt_Toolbox = 10,
  724.     vbext_wt_LinkedWindowFrame = 11,
  725.     vbext_wt_MainWindow = 12,
  726.     vbext_wt_Preview = 13,
  727.     vbext_wt_ColorPalette = 14,
  728.     vbext_wt_ToolWindow = 15
  729. } vbext_WindowType;
  730.  
  731. typedef enum vbext_WindowState {
  732.     vbext_ws_Normal = 0,
  733.     vbext_ws_Minimize = 1,
  734.     vbext_ws_Maximize = 2
  735. } vbext_WindowState;
  736.  
  737. DEFINE_GUID(IID_Window,0x0002E10EL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  738.  
  739. /* Definition of interface: Window */
  740. #undef INTERFACE
  741. #define INTERFACE Window
  742.  
  743. DECLARE_INTERFACE_(Window, IDispatch)
  744. {
  745. BEGIN_INTERFACE
  746. #ifndef NO_BASEINTERFACE_FUNCS
  747.  
  748.     /* IUnknown methods */
  749.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  750.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  751.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  752.  
  753.     /* IDispatch methods */
  754.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  755.  
  756.     STDMETHOD(GetTypeInfo)(
  757.       THIS_
  758.       UINT itinfo,
  759.       LCID lcid,
  760.       ITypeInfo FAR* FAR* pptinfo) PURE;
  761.  
  762.     STDMETHOD(GetIDsOfNames)(
  763.       THIS_
  764.       REFIID riid,
  765.       OLECHAR FAR* FAR* rgszNames,
  766.       UINT cNames,
  767.       LCID lcid,
  768.       DISPID FAR* rgdispid) PURE;
  769.  
  770.     STDMETHOD(Invoke)(
  771.       THIS_
  772.       DISPID dispidMember,
  773.       REFIID riid,
  774.       LCID lcid,
  775.       WORD wFlags,
  776.       DISPPARAMS FAR* pdispparams,
  777.       VARIANT FAR* pvarResult,
  778.       EXCEPINFO FAR* pexcepinfo,
  779.       UINT FAR* puArgErr) PURE;
  780. #endif
  781.  
  782.     /* Window methods */
  783.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  784.     STDMETHOD(get_Collection)(THIS_ Windows FAR* FAR* lppaReturn) PURE;
  785.     STDMETHOD(Close)(THIS) PURE;
  786.     STDMETHOD(get_Caption)(THIS_ BSTR FAR* pbstrTitle) PURE;
  787.     STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL FAR* pfVisible) PURE;
  788.     STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL fVisible) PURE;
  789.     STDMETHOD(get_Left)(THIS_ long FAR* plLeft) PURE;
  790.     STDMETHOD(put_Left)(THIS_ long lLeft) PURE;
  791.     STDMETHOD(get_Top)(THIS_ long FAR* plTop) PURE;
  792.     STDMETHOD(put_Top)(THIS_ long lTop_r) PURE;
  793.     STDMETHOD(get_Width)(THIS_ long FAR* plWidth) PURE;
  794.     STDMETHOD(put_Width)(THIS_ long lWidth) PURE;
  795.     STDMETHOD(get_Height)(THIS_ long FAR* plHeight) PURE;
  796.     STDMETHOD(put_Height)(THIS_ long lHeight_r) PURE;
  797.     STDMETHOD(get_WindowState)(THIS_ enum vbext_WindowState FAR* plWindowState) PURE;
  798.     STDMETHOD(put_WindowState)(THIS_ enum vbext_WindowState wstWindowState) PURE;
  799.     STDMETHOD(SetFocus)(THIS) PURE;
  800.     STDMETHOD(get_Type)(THIS_ enum vbext_WindowType FAR* pKind) PURE;
  801.     STDMETHOD(SetKind)(THIS_ enum vbext_WindowType eKind) PURE;
  802.     STDMETHOD(get_LinkedWindows)(THIS_ LinkedWindows FAR* FAR* ppwnsCollection) PURE;
  803.     STDMETHOD(get_LinkedWindowFrame)(THIS_ Window FAR* FAR* ppwinFrame) PURE;
  804.     STDMETHOD(Detach)(THIS) PURE;
  805.     STDMETHOD(Attach)(THIS_ long lWindowHandle) PURE;
  806.     STDMETHOD(get_HWnd)(THIS_ long FAR* plWindowHandle) PURE;
  807. };
  808.  
  809. DEFINE_GUID(IID__Windows,0x0002E10DL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  810.  
  811. /* Definition of interface: _Windows */
  812. #undef INTERFACE
  813. #define INTERFACE _Windows
  814.  
  815. DECLARE_INTERFACE_(_Windows, IDispatch)
  816. {
  817. BEGIN_INTERFACE
  818. #ifndef NO_BASEINTERFACE_FUNCS
  819.  
  820.     /* IUnknown methods */
  821.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  822.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  823.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  824.  
  825.     /* IDispatch methods */
  826.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  827.  
  828.     STDMETHOD(GetTypeInfo)(
  829.       THIS_
  830.       UINT itinfo,
  831.       LCID lcid,
  832.       ITypeInfo FAR* FAR* pptinfo) PURE;
  833.  
  834.     STDMETHOD(GetIDsOfNames)(
  835.       THIS_
  836.       REFIID riid,
  837.       OLECHAR FAR* FAR* rgszNames,
  838.       UINT cNames,
  839.       LCID lcid,
  840.       DISPID FAR* rgdispid) PURE;
  841.  
  842.     STDMETHOD(Invoke)(
  843.       THIS_
  844.       DISPID dispidMember,
  845.       REFIID riid,
  846.       LCID lcid,
  847.       WORD wFlags,
  848.       DISPPARAMS FAR* pdispparams,
  849.       VARIANT FAR* pvarResult,
  850.       EXCEPINFO FAR* pexcepinfo,
  851.       UINT FAR* puArgErr) PURE;
  852. #endif
  853.  
  854.     /* _Windows methods */
  855.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  856.     STDMETHOD(get_Parent)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  857.     STDMETHOD(Item)(THIS_ VARIANT index, Window FAR* FAR* lppcReturn) PURE;
  858.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  859.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  860.     STDMETHOD(CreateToolWindow)(THIS_ AddIn FAR* AddInInst, BSTR ProgId, BSTR Caption, BSTR GuidPosition, IDispatch * FAR* DocObj, Window FAR* FAR* lppcReturn) PURE;
  861. };
  862.  
  863. DEFINE_GUID(CLSID_Windows,0x0002E184L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  864.  
  865. #ifdef __cplusplus
  866. class Windows;
  867. #endif
  868.  
  869. DEFINE_GUID(IID__LinkedWindows,0x0002E10FL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  870.  
  871. /* Definition of interface: _LinkedWindows */
  872. #undef INTERFACE
  873. #define INTERFACE _LinkedWindows
  874.  
  875. DECLARE_INTERFACE_(_LinkedWindows, IDispatch)
  876. {
  877. BEGIN_INTERFACE
  878. #ifndef NO_BASEINTERFACE_FUNCS
  879.  
  880.     /* IUnknown methods */
  881.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  882.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  883.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  884.  
  885.     /* IDispatch methods */
  886.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  887.  
  888.     STDMETHOD(GetTypeInfo)(
  889.       THIS_
  890.       UINT itinfo,
  891.       LCID lcid,
  892.       ITypeInfo FAR* FAR* pptinfo) PURE;
  893.  
  894.     STDMETHOD(GetIDsOfNames)(
  895.       THIS_
  896.       REFIID riid,
  897.       OLECHAR FAR* FAR* rgszNames,
  898.       UINT cNames,
  899.       LCID lcid,
  900.       DISPID FAR* rgdispid) PURE;
  901.  
  902.     STDMETHOD(Invoke)(
  903.       THIS_
  904.       DISPID dispidMember,
  905.       REFIID riid,
  906.       LCID lcid,
  907.       WORD wFlags,
  908.       DISPPARAMS FAR* pdispparams,
  909.       VARIANT FAR* pvarResult,
  910.       EXCEPINFO FAR* pexcepinfo,
  911.       UINT FAR* puArgErr) PURE;
  912. #endif
  913.  
  914.     /* _LinkedWindows methods */
  915.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  916.     STDMETHOD(get_Parent)(THIS_ Window FAR* FAR* ppptReturn) PURE;
  917.     STDMETHOD(Item)(THIS_ VARIANT index, Window FAR* FAR* lppcReturn) PURE;
  918.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  919.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  920.     STDMETHOD(Remove)(THIS_ Window FAR* Window) PURE;
  921.     STDMETHOD(Add)(THIS_ Window FAR* Window) PURE;
  922. };
  923.  
  924. DEFINE_GUID(CLSID_LinkedWindows,0x0002E186L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  925.  
  926. #ifdef __cplusplus
  927. class LinkedWindows;
  928. #endif
  929.  
  930. DEFINE_GUID(IID_Events,0x0002E112L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  931.  
  932. /* Definition of interface: Events */
  933. #undef INTERFACE
  934. #define INTERFACE Events
  935.  
  936. DECLARE_INTERFACE_(Events, IDispatch)
  937. {
  938. BEGIN_INTERFACE
  939. #ifndef NO_BASEINTERFACE_FUNCS
  940.  
  941.     /* IUnknown methods */
  942.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  943.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  944.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  945.  
  946.     /* IDispatch methods */
  947.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  948.  
  949.     STDMETHOD(GetTypeInfo)(
  950.       THIS_
  951.       UINT itinfo,
  952.       LCID lcid,
  953.       ITypeInfo FAR* FAR* pptinfo) PURE;
  954.  
  955.     STDMETHOD(GetIDsOfNames)(
  956.       THIS_
  957.       REFIID riid,
  958.       OLECHAR FAR* FAR* rgszNames,
  959.       UINT cNames,
  960.       LCID lcid,
  961.       DISPID FAR* rgdispid) PURE;
  962.  
  963.     STDMETHOD(Invoke)(
  964.       THIS_
  965.       DISPID dispidMember,
  966.       REFIID riid,
  967.       LCID lcid,
  968.       WORD wFlags,
  969.       DISPPARAMS FAR* pdispparams,
  970.       VARIANT FAR* pvarResult,
  971.       EXCEPINFO FAR* pexcepinfo,
  972.       UINT FAR* puArgErr) PURE;
  973. #endif
  974.  
  975.     /* Events methods */
  976.     STDMETHOD(get_VBProjectsEvents)(THIS_ VBProjectsEvents FAR* FAR* ppceNew) PURE;
  977.     STDMETHOD(get_VBComponentsEvents)(THIS_ VBProject FAR* VBProject, VBComponentsEvents FAR* FAR* pcceNew) PURE;
  978.     STDMETHOD(get_ReferencesEvents)(THIS_ VBProject FAR* VBProject, ReferencesEvents FAR* FAR* prceNew) PURE;
  979.     STDMETHOD(get_VBControlsEvents)(THIS_ VBProject FAR* VBProject, VBForm FAR* VBForm, VBControlsEvents FAR* FAR* prceNew) PURE;
  980.     STDMETHOD(get_SelectedVBControlsEvents)(THIS_ VBProject FAR* VBProject, VBForm FAR* VBForm, SelectedVBControlsEvents FAR* FAR* prceNew) PURE;
  981.     STDMETHOD(get_CommandBarEvents)(THIS_ IDispatch * CommandBarControl, CommandBarEvents FAR* FAR* prceNew) PURE;
  982.     STDMETHOD(get_FileControlEvents)(THIS_ VBProject FAR* VBProject, FileControlEvents FAR* FAR* prceNew) PURE;
  983. };
  984.  
  985. DEFINE_GUID(IID__VBProjectsEvents,0x0002E191L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  986.  
  987. /* Definition of interface: _VBProjectsEvents */
  988. #undef INTERFACE
  989. #define INTERFACE _VBProjectsEvents
  990.  
  991. DECLARE_INTERFACE_(_VBProjectsEvents, IUnknown)
  992. {
  993. BEGIN_INTERFACE
  994. #ifndef NO_BASEINTERFACE_FUNCS
  995.  
  996.     /* IUnknown methods */
  997.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  998.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  999.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1000. #endif
  1001.  
  1002.     /* _VBProjectsEvents methods */
  1003. };
  1004.  
  1005. DEFINE_GUID(DIID__dispVBProjectsEvents,0x0002E190L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1006.  
  1007. /* Definition of dispatch interface: _dispVBProjectsEvents */
  1008. #undef INTERFACE
  1009. #define INTERFACE _dispVBProjectsEvents
  1010.  
  1011. DECLARE_INTERFACE_(_dispVBProjectsEvents, IDispatch)
  1012. {
  1013. BEGIN_INTERFACE
  1014. #ifndef NO_BASEINTERFACE_FUNCS
  1015.  
  1016.     /* IUnknown methods */
  1017.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1018.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1019.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1020.  
  1021.     /* IDispatch methods */
  1022.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1023.  
  1024.     STDMETHOD(GetTypeInfo)(
  1025.       THIS_
  1026.       UINT itinfo,
  1027.       LCID lcid,
  1028.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1029.  
  1030.     STDMETHOD(GetIDsOfNames)(
  1031.       THIS_
  1032.       REFIID riid,
  1033.       OLECHAR FAR* FAR* rgszNames,
  1034.       UINT cNames,
  1035.       LCID lcid,
  1036.       DISPID FAR* rgdispid) PURE;
  1037.  
  1038.     STDMETHOD(Invoke)(
  1039.       THIS_
  1040.       DISPID dispidMember,
  1041.       REFIID riid,
  1042.       LCID lcid,
  1043.       WORD wFlags,
  1044.       DISPPARAMS FAR* pdispparams,
  1045.       VARIANT FAR* pvarResult,
  1046.       EXCEPINFO FAR* pexcepinfo,
  1047.       UINT FAR* puArgErr) PURE;
  1048. #endif
  1049.  
  1050.     /* _dispVBProjectsEvents methods:
  1051.     void ItemAdded(VBProject FAR* VBProject);
  1052.     void ItemRemoved(VBProject FAR* VBProject);
  1053.     void ItemRenamed(VBProject FAR* VBProject, BSTR OldName);
  1054.     void ItemActivated(VBProject FAR* VBProject);
  1055.     */
  1056. };
  1057.  
  1058. DEFINE_GUID(CLSID_VBProjectsEvents,0x0002E114L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1059.  
  1060. #ifdef __cplusplus
  1061. class VBProjectsEvents;
  1062. #endif
  1063.  
  1064. DEFINE_GUID(IID__VBComponentsEvents,0x0002E192L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1065.  
  1066. /* Definition of interface: _VBComponentsEvents */
  1067. #undef INTERFACE
  1068. #define INTERFACE _VBComponentsEvents
  1069.  
  1070. DECLARE_INTERFACE_(_VBComponentsEvents, IUnknown)
  1071. {
  1072. BEGIN_INTERFACE
  1073. #ifndef NO_BASEINTERFACE_FUNCS
  1074.  
  1075.     /* IUnknown methods */
  1076.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1077.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1078.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1079. #endif
  1080.  
  1081.     /* _VBComponentsEvents methods */
  1082. };
  1083.  
  1084. DEFINE_GUID(DIID__dispVBComponentsEvents,0x0002E193L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1085.  
  1086. /* Definition of dispatch interface: _dispVBComponentsEvents */
  1087. #undef INTERFACE
  1088. #define INTERFACE _dispVBComponentsEvents
  1089.  
  1090. DECLARE_INTERFACE_(_dispVBComponentsEvents, IDispatch)
  1091. {
  1092. BEGIN_INTERFACE
  1093. #ifndef NO_BASEINTERFACE_FUNCS
  1094.  
  1095.     /* IUnknown methods */
  1096.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1097.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1098.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1099.  
  1100.     /* IDispatch methods */
  1101.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1102.  
  1103.     STDMETHOD(GetTypeInfo)(
  1104.       THIS_
  1105.       UINT itinfo,
  1106.       LCID lcid,
  1107.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1108.  
  1109.     STDMETHOD(GetIDsOfNames)(
  1110.       THIS_
  1111.       REFIID riid,
  1112.       OLECHAR FAR* FAR* rgszNames,
  1113.       UINT cNames,
  1114.       LCID lcid,
  1115.       DISPID FAR* rgdispid) PURE;
  1116.  
  1117.     STDMETHOD(Invoke)(
  1118.       THIS_
  1119.       DISPID dispidMember,
  1120.       REFIID riid,
  1121.       LCID lcid,
  1122.       WORD wFlags,
  1123.       DISPPARAMS FAR* pdispparams,
  1124.       VARIANT FAR* pvarResult,
  1125.       EXCEPINFO FAR* pexcepinfo,
  1126.       UINT FAR* puArgErr) PURE;
  1127. #endif
  1128.  
  1129.     /* _dispVBComponentsEvents methods:
  1130.     void ItemAdded(VBComponent FAR* VBComponent);
  1131.     void ItemRemoved(VBComponent FAR* VBComponent);
  1132.     void ItemRenamed(VBComponent FAR* VBComponent, BSTR OldName);
  1133.     void ItemSelected(VBComponent FAR* VBComponent);
  1134.     void ItemActivated(VBComponent FAR* VBComponent);
  1135.     void ItemReloaded(VBComponent FAR* VBComponent);
  1136.     */
  1137. };
  1138.  
  1139. DEFINE_GUID(CLSID_VBComponentsEvents,0x0002E117L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1140.  
  1141. #ifdef __cplusplus
  1142. class VBComponentsEvents;
  1143. #endif
  1144.  
  1145. DEFINE_GUID(IID__ReferencesEvents,0x0002E195L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1146.  
  1147. /* Definition of interface: _ReferencesEvents */
  1148. #undef INTERFACE
  1149. #define INTERFACE _ReferencesEvents
  1150.  
  1151. DECLARE_INTERFACE_(_ReferencesEvents, IUnknown)
  1152. {
  1153. BEGIN_INTERFACE
  1154. #ifndef NO_BASEINTERFACE_FUNCS
  1155.  
  1156.     /* IUnknown methods */
  1157.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1158.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1159.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1160. #endif
  1161.  
  1162.     /* _ReferencesEvents methods */
  1163. };
  1164.  
  1165. DEFINE_GUID(DIID__dispReferencesEvents,0x0002E194L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1166.  
  1167. /* Definition of dispatch interface: _dispReferencesEvents */
  1168. #undef INTERFACE
  1169. #define INTERFACE _dispReferencesEvents
  1170.  
  1171. DECLARE_INTERFACE_(_dispReferencesEvents, IDispatch)
  1172. {
  1173. BEGIN_INTERFACE
  1174. #ifndef NO_BASEINTERFACE_FUNCS
  1175.  
  1176.     /* IUnknown methods */
  1177.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1178.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1179.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1180.  
  1181.     /* IDispatch methods */
  1182.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1183.  
  1184.     STDMETHOD(GetTypeInfo)(
  1185.       THIS_
  1186.       UINT itinfo,
  1187.       LCID lcid,
  1188.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1189.  
  1190.     STDMETHOD(GetIDsOfNames)(
  1191.       THIS_
  1192.       REFIID riid,
  1193.       OLECHAR FAR* FAR* rgszNames,
  1194.       UINT cNames,
  1195.       LCID lcid,
  1196.       DISPID FAR* rgdispid) PURE;
  1197.  
  1198.     STDMETHOD(Invoke)(
  1199.       THIS_
  1200.       DISPID dispidMember,
  1201.       REFIID riid,
  1202.       LCID lcid,
  1203.       WORD wFlags,
  1204.       DISPPARAMS FAR* pdispparams,
  1205.       VARIANT FAR* pvarResult,
  1206.       EXCEPINFO FAR* pexcepinfo,
  1207.       UINT FAR* puArgErr) PURE;
  1208. #endif
  1209.  
  1210.     /* _dispReferencesEvents methods:
  1211.     void ItemAdded(Reference FAR* Reference);
  1212.     void ItemRemoved(Reference FAR* Reference);
  1213.     */
  1214. };
  1215.  
  1216. DEFINE_GUID(CLSID_ReferencesEvents,0x0002E196L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1217.  
  1218. #ifdef __cplusplus
  1219. class ReferencesEvents;
  1220. #endif
  1221.  
  1222. DEFINE_GUID(IID__ContainedVBControlsEvents,0x0002E12AL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1223.  
  1224. /* Definition of interface: _ContainedVBControlsEvents */
  1225. #undef INTERFACE
  1226. #define INTERFACE _ContainedVBControlsEvents
  1227.  
  1228. DECLARE_INTERFACE_(_ContainedVBControlsEvents, IUnknown)
  1229. {
  1230. BEGIN_INTERFACE
  1231. #ifndef NO_BASEINTERFACE_FUNCS
  1232.  
  1233.     /* IUnknown methods */
  1234.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1235.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1236.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1237. #endif
  1238.  
  1239.     /* _ContainedVBControlsEvents methods */
  1240. };
  1241.  
  1242. DEFINE_GUID(DIID__dispContainedVBControlsEvents,0x0002E122L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1243.  
  1244. /* Definition of dispatch interface: _dispContainedVBControlsEvents */
  1245. #undef INTERFACE
  1246. #define INTERFACE _dispContainedVBControlsEvents
  1247.  
  1248. DECLARE_INTERFACE_(_dispContainedVBControlsEvents, IDispatch)
  1249. {
  1250. BEGIN_INTERFACE
  1251. #ifndef NO_BASEINTERFACE_FUNCS
  1252.  
  1253.     /* IUnknown methods */
  1254.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1255.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1256.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1257.  
  1258.     /* IDispatch methods */
  1259.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1260.  
  1261.     STDMETHOD(GetTypeInfo)(
  1262.       THIS_
  1263.       UINT itinfo,
  1264.       LCID lcid,
  1265.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1266.  
  1267.     STDMETHOD(GetIDsOfNames)(
  1268.       THIS_
  1269.       REFIID riid,
  1270.       OLECHAR FAR* FAR* rgszNames,
  1271.       UINT cNames,
  1272.       LCID lcid,
  1273.       DISPID FAR* rgdispid) PURE;
  1274.  
  1275.     STDMETHOD(Invoke)(
  1276.       THIS_
  1277.       DISPID dispidMember,
  1278.       REFIID riid,
  1279.       LCID lcid,
  1280.       WORD wFlags,
  1281.       DISPPARAMS FAR* pdispparams,
  1282.       VARIANT FAR* pvarResult,
  1283.       EXCEPINFO FAR* pexcepinfo,
  1284.       UINT FAR* puArgErr) PURE;
  1285. #endif
  1286.  
  1287.     /* _dispContainedVBControlsEvents methods:
  1288.     void ItemAdded(VBControl FAR* VBControl);
  1289.     void ItemRemoved(VBControl FAR* VBControl);
  1290.     void ItemRenamed(VBControl FAR* VBControl, BSTR OldName, long OldIndex);
  1291.     */
  1292. };
  1293.  
  1294. DEFINE_GUID(CLSID_VBControlsEvents,0x0002E12BL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1295.  
  1296. #ifdef __cplusplus
  1297. class VBControlsEvents;
  1298. #endif
  1299.  
  1300. DEFINE_GUID(IID__SelectedVBControlsEvents,0x0002E12CL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1301.  
  1302. /* Definition of interface: _SelectedVBControlsEvents */
  1303. #undef INTERFACE
  1304. #define INTERFACE _SelectedVBControlsEvents
  1305.  
  1306. DECLARE_INTERFACE_(_SelectedVBControlsEvents, IUnknown)
  1307. {
  1308. BEGIN_INTERFACE
  1309. #ifndef NO_BASEINTERFACE_FUNCS
  1310.  
  1311.     /* IUnknown methods */
  1312.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1313.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1314.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1315. #endif
  1316.  
  1317.     /* _SelectedVBControlsEvents methods */
  1318. };
  1319.  
  1320. DEFINE_GUID(DIID__dispSelectedVBControlsEvents,0x0002E125L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1321.  
  1322. /* Definition of dispatch interface: _dispSelectedVBControlsEvents */
  1323. #undef INTERFACE
  1324. #define INTERFACE _dispSelectedVBControlsEvents
  1325.  
  1326. DECLARE_INTERFACE_(_dispSelectedVBControlsEvents, IDispatch)
  1327. {
  1328. BEGIN_INTERFACE
  1329. #ifndef NO_BASEINTERFACE_FUNCS
  1330.  
  1331.     /* IUnknown methods */
  1332.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1333.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1334.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1335.  
  1336.     /* IDispatch methods */
  1337.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1338.  
  1339.     STDMETHOD(GetTypeInfo)(
  1340.       THIS_
  1341.       UINT itinfo,
  1342.       LCID lcid,
  1343.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1344.  
  1345.     STDMETHOD(GetIDsOfNames)(
  1346.       THIS_
  1347.       REFIID riid,
  1348.       OLECHAR FAR* FAR* rgszNames,
  1349.       UINT cNames,
  1350.       LCID lcid,
  1351.       DISPID FAR* rgdispid) PURE;
  1352.  
  1353.     STDMETHOD(Invoke)(
  1354.       THIS_
  1355.       DISPID dispidMember,
  1356.       REFIID riid,
  1357.       LCID lcid,
  1358.       WORD wFlags,
  1359.       DISPPARAMS FAR* pdispparams,
  1360.       VARIANT FAR* pvarResult,
  1361.       EXCEPINFO FAR* pexcepinfo,
  1362.       UINT FAR* puArgErr) PURE;
  1363. #endif
  1364.  
  1365.     /* _dispSelectedVBControlsEvents methods:
  1366.     void ItemAdded(VBControl FAR* VBControl);
  1367.     void ItemRemoved(VBControl FAR* VBControl);
  1368.     */
  1369. };
  1370.  
  1371. DEFINE_GUID(CLSID_SelectedVBControlsEvents,0x0002E12DL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1372.  
  1373. #ifdef __cplusplus
  1374. class SelectedVBControlsEvents;
  1375. #endif
  1376.  
  1377. DEFINE_GUID(IID__CommandBarControlEvents,0x0002E197L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1378.  
  1379. /* Definition of interface: _CommandBarControlEvents */
  1380. #undef INTERFACE
  1381. #define INTERFACE _CommandBarControlEvents
  1382.  
  1383. DECLARE_INTERFACE_(_CommandBarControlEvents, IUnknown)
  1384. {
  1385. BEGIN_INTERFACE
  1386. #ifndef NO_BASEINTERFACE_FUNCS
  1387.  
  1388.     /* IUnknown methods */
  1389.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1390.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1391.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1392. #endif
  1393.  
  1394.     /* _CommandBarControlEvents methods */
  1395. };
  1396.  
  1397. DEFINE_GUID(DIID__dispCommandBarControlEvents,0x0002E198L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1398.  
  1399. /* Definition of dispatch interface: _dispCommandBarControlEvents */
  1400. #undef INTERFACE
  1401. #define INTERFACE _dispCommandBarControlEvents
  1402.  
  1403. DECLARE_INTERFACE_(_dispCommandBarControlEvents, IDispatch)
  1404. {
  1405. BEGIN_INTERFACE
  1406. #ifndef NO_BASEINTERFACE_FUNCS
  1407.  
  1408.     /* IUnknown methods */
  1409.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1410.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1411.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1412.  
  1413.     /* IDispatch methods */
  1414.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1415.  
  1416.     STDMETHOD(GetTypeInfo)(
  1417.       THIS_
  1418.       UINT itinfo,
  1419.       LCID lcid,
  1420.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1421.  
  1422.     STDMETHOD(GetIDsOfNames)(
  1423.       THIS_
  1424.       REFIID riid,
  1425.       OLECHAR FAR* FAR* rgszNames,
  1426.       UINT cNames,
  1427.       LCID lcid,
  1428.       DISPID FAR* rgdispid) PURE;
  1429.  
  1430.     STDMETHOD(Invoke)(
  1431.       THIS_
  1432.       DISPID dispidMember,
  1433.       REFIID riid,
  1434.       LCID lcid,
  1435.       WORD wFlags,
  1436.       DISPPARAMS FAR* pdispparams,
  1437.       VARIANT FAR* pvarResult,
  1438.       EXCEPINFO FAR* pexcepinfo,
  1439.       UINT FAR* puArgErr) PURE;
  1440. #endif
  1441.  
  1442.     /* _dispCommandBarControlEvents methods:
  1443.     void Click(IDispatch * CommandBarControl, VARIANT_BOOL FAR* handled, VARIANT_BOOL FAR* CancelDefault);
  1444.     */
  1445. };
  1446.  
  1447. DEFINE_GUID(CLSID_CommandBarEvents,0x0002E199L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1448.  
  1449. #ifdef __cplusplus
  1450. class CommandBarEvents;
  1451. #endif
  1452.  
  1453. DEFINE_GUID(IID__VBFileControlEvents,0x0002E142L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1454.  
  1455. /* Definition of interface: _VBFileControlEvents */
  1456. #undef INTERFACE
  1457. #define INTERFACE _VBFileControlEvents
  1458.  
  1459. DECLARE_INTERFACE_(_VBFileControlEvents, IUnknown)
  1460. {
  1461. BEGIN_INTERFACE
  1462. #ifndef NO_BASEINTERFACE_FUNCS
  1463.  
  1464.     /* IUnknown methods */
  1465.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1466.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1467.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1468. #endif
  1469.  
  1470.     /* _VBFileControlEvents methods */
  1471. };
  1472.  
  1473. DEFINE_GUID(DIID__dispVBFileControlEvents,0x0002E141L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1474.  
  1475. /* Definition of dispatch interface: _dispVBFileControlEvents */
  1476. #undef INTERFACE
  1477. #define INTERFACE _dispVBFileControlEvents
  1478.  
  1479. DECLARE_INTERFACE_(_dispVBFileControlEvents, IDispatch)
  1480. {
  1481. BEGIN_INTERFACE
  1482. #ifndef NO_BASEINTERFACE_FUNCS
  1483.  
  1484.     /* IUnknown methods */
  1485.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1486.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1487.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1488.  
  1489.     /* IDispatch methods */
  1490.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1491.  
  1492.     STDMETHOD(GetTypeInfo)(
  1493.       THIS_
  1494.       UINT itinfo,
  1495.       LCID lcid,
  1496.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1497.  
  1498.     STDMETHOD(GetIDsOfNames)(
  1499.       THIS_
  1500.       REFIID riid,
  1501.       OLECHAR FAR* FAR* rgszNames,
  1502.       UINT cNames,
  1503.       LCID lcid,
  1504.       DISPID FAR* rgdispid) PURE;
  1505.  
  1506.     STDMETHOD(Invoke)(
  1507.       THIS_
  1508.       DISPID dispidMember,
  1509.       REFIID riid,
  1510.       LCID lcid,
  1511.       WORD wFlags,
  1512.       DISPPARAMS FAR* pdispparams,
  1513.       VARIANT FAR* pvarResult,
  1514.       EXCEPINFO FAR* pexcepinfo,
  1515.       UINT FAR* puArgErr) PURE;
  1516. #endif
  1517.  
  1518.     /* _dispVBFileControlEvents methods:
  1519.     void AfterAddFile(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR FileName);
  1520.     void AfterChangeFileName(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR NewName, BSTR OldName);
  1521.     void AfterCloseFile(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR FileName, VARIANT_BOOL WasDirty);
  1522.     void AfterWriteFile(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR FileName, short Result);
  1523.     void AfterRemoveFile(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR FileName);
  1524.     void BeforeLoadFile(VBProject FAR* VBProject, SAFEARRAY FAR* FAR* FileNames);
  1525.     void DoGetNewFileName(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR FAR* NewName, BSTR OldName, VARIANT_BOOL FAR* CancelDefault);
  1526.     void RequestChangeFileName(VBProject FAR* VBProject, enum vbext_FileType FileType, BSTR NewName, BSTR OldName, VARIANT_BOOL FAR* Cancel);
  1527.     void RequestWriteFile(VBProject FAR* VBProject, BSTR FileName, VARIANT_BOOL FAR* Cancel);
  1528.     */
  1529. };
  1530.  
  1531. DEFINE_GUID(CLSID_FileControlEvents,0x0002E140L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1532.  
  1533. #ifdef __cplusplus
  1534. class FileControlEvents;
  1535. #endif
  1536.  
  1537. DEFINE_GUID(IID__ProjectTemplate,0xEF404E22L,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  1538.  
  1539. /* Definition of interface: _ProjectTemplate */
  1540. #undef INTERFACE
  1541. #define INTERFACE _ProjectTemplate
  1542.  
  1543. DECLARE_INTERFACE_(_ProjectTemplate, IDispatch)
  1544. {
  1545. BEGIN_INTERFACE
  1546. #ifndef NO_BASEINTERFACE_FUNCS
  1547.  
  1548.     /* IUnknown methods */
  1549.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1550.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1551.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1552.  
  1553.     /* IDispatch methods */
  1554.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1555.  
  1556.     STDMETHOD(GetTypeInfo)(
  1557.       THIS_
  1558.       UINT itinfo,
  1559.       LCID lcid,
  1560.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1561.  
  1562.     STDMETHOD(GetIDsOfNames)(
  1563.       THIS_
  1564.       REFIID riid,
  1565.       OLECHAR FAR* FAR* rgszNames,
  1566.       UINT cNames,
  1567.       LCID lcid,
  1568.       DISPID FAR* rgdispid) PURE;
  1569.  
  1570.     STDMETHOD(Invoke)(
  1571.       THIS_
  1572.       DISPID dispidMember,
  1573.       REFIID riid,
  1574.       LCID lcid,
  1575.       WORD wFlags,
  1576.       DISPPARAMS FAR* pdispparams,
  1577.       VARIANT FAR* pvarResult,
  1578.       EXCEPINFO FAR* pexcepinfo,
  1579.       UINT FAR* puArgErr) PURE;
  1580. #endif
  1581.  
  1582.     /* _ProjectTemplate methods */
  1583.     STDMETHOD(get_ActiveForm)(THIS_ FormTemplate FAR* FAR* lppftReturn) PURE;
  1584.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  1585.     STDMETHOD(get_Parent)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  1586.     STDMETHOD(get_SelectedComponents)(THIS_ SelectedComponents FAR* FAR* lppscReturn) PURE;
  1587.     STDMETHOD(AddFile)(THIS_ BSTR FileName, BSTR FAR* lpbstrReturn) PURE;
  1588.     STDMETHOD(RemoveComponent)(THIS_ Component FAR* Comp, VARIANT_BOOL Save, VARIANT_BOOL FAR* lpfReturn) PURE;
  1589.     STDMETHOD(AddReference)(THIS_ VARIANT Guid, VARIANT VerMajor, VARIANT VerMinor, VARIANT FileName) PURE;
  1590.     STDMETHOD(AddToolboxTypelib)(THIS_ BSTR Guid, short MajorVersion, short MinorVersion, VARIANT FileName) PURE;
  1591.     STDMETHOD(AddToolboxProgID)(THIS_ BSTR ProgID, VARIANT FileName) PURE;
  1592.     STDMETHOD(AddToolboxVBX)(THIS_ BSTR FileName) PURE;
  1593.     STDMETHOD(AddFormTemplate)(THIS_ FormTemplate FAR* FAR* lppftReturn) PURE;
  1594.     STDMETHOD(AddMDIFormTemplate)(THIS_ FormTemplate FAR* FAR* lppftReturn) PURE;
  1595.     STDMETHOD(get_FileName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  1596.     STDMETHOD(get_IsDirty)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  1597.     STDMETHOD(put_IsDirty)(THIS_ VARIANT_BOOL Dirty) PURE;
  1598.     STDMETHOD(WriteProperty)(THIS_ BSTR Section, BSTR Key, BSTR Value) PURE;
  1599.     STDMETHOD(ReadProperty)(THIS_ BSTR Section, BSTR Key, BSTR FAR* lpbstrValue) PURE;
  1600.     STDMETHOD(ConnectEvents)(THIS_ IDispatch * pdspSink, long FAR* lplReturn) PURE;
  1601.     STDMETHOD(DisconnectEvents)(THIS_ long hConnection) PURE;
  1602.     STDMETHOD(get_Components)(THIS_ Components FAR* FAR* lppcReturn) PURE;
  1603. };
  1604.  
  1605. DEFINE_GUID(DIID_ProjectTemplateEvents,0x31DE1170L,0x1602,0x11CE,0xBF,0xDC,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  1606.  
  1607. /* Definition of dispatch interface: ProjectTemplateEvents */
  1608. #undef INTERFACE
  1609. #define INTERFACE ProjectTemplateEvents
  1610.  
  1611. DECLARE_INTERFACE_(ProjectTemplateEvents, IDispatch)
  1612. {
  1613. BEGIN_INTERFACE
  1614. #ifndef NO_BASEINTERFACE_FUNCS
  1615.  
  1616.     /* IUnknown methods */
  1617.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1618.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1619.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1620.  
  1621.     /* IDispatch methods */
  1622.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1623.  
  1624.     STDMETHOD(GetTypeInfo)(
  1625.       THIS_
  1626.       UINT itinfo,
  1627.       LCID lcid,
  1628.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1629.  
  1630.     STDMETHOD(GetIDsOfNames)(
  1631.       THIS_
  1632.       REFIID riid,
  1633.       OLECHAR FAR* FAR* rgszNames,
  1634.       UINT cNames,
  1635.       LCID lcid,
  1636.       DISPID FAR* rgdispid) PURE;
  1637.  
  1638.     STDMETHOD(Invoke)(
  1639.       THIS_
  1640.       DISPID dispidMember,
  1641.       REFIID riid,
  1642.       LCID lcid,
  1643.       WORD wFlags,
  1644.       DISPPARAMS FAR* pdispparams,
  1645.       VARIANT FAR* pvarResult,
  1646.       EXCEPINFO FAR* pexcepinfo,
  1647.       UINT FAR* puArgErr) PURE;
  1648. #endif
  1649.  
  1650.     /* ProjectTemplateEvents methods:
  1651.     void CheckIn(void);
  1652.     void CheckOut(void);
  1653.     void Fetch(void);
  1654.     void UncheckOut(void);
  1655.     */
  1656. };
  1657.  
  1658. DEFINE_GUID(CLSID_ProjectTemplate,0x32CDF9E0L,0x1602,0x11CE,0xBF,0xDC,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  1659.  
  1660. #ifdef __cplusplus
  1661. class ProjectTemplate;
  1662. #endif
  1663.  
  1664. typedef enum vbext_ProjectStartMode {
  1665.     vbext_psm_StandAlone = 0,
  1666.     vbext_psm_OleServer = 1
  1667. } vbext_ProjectStartMode;
  1668.  
  1669. typedef enum vbext_ProjectType {
  1670.     vbext_pt_StandardExe = 0,
  1671.     vbext_pt_ActiveXExe = 1,
  1672.     vbext_pt_ActiveXDll = 2,
  1673.     vbext_pt_ActiveXControl = 3
  1674. } vbext_ProjectType;
  1675.  
  1676. typedef enum vbextSCCStatus {
  1677.     vbextSCCStatusNotControlled = 0,
  1678.     vbextSCCStatusControlled = 1,
  1679.     vbextSCCStatusCheckedOut = 2,
  1680.     vbextSCCStatusOutOther = 4,
  1681.     vbextSCCStatusOutOfDate = 32,
  1682.     vbextSCCStatusShared = 512
  1683. } vbextSCCStatus;
  1684.  
  1685. typedef enum vbext_VBAMode {
  1686.     vbext_vm_Run = 0,
  1687.     vbext_vm_Break = 1,
  1688.     vbext_vm_Design = 2
  1689. } vbext_VBAMode;
  1690.  
  1691. DEFINE_GUID(IID__VBProject,0x0002E106L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1692.  
  1693. /* Definition of interface: _VBProject */
  1694. #undef INTERFACE
  1695. #define INTERFACE _VBProject
  1696.  
  1697. DECLARE_INTERFACE_(_VBProject, IDispatch)
  1698. {
  1699. BEGIN_INTERFACE
  1700. #ifndef NO_BASEINTERFACE_FUNCS
  1701.  
  1702.     /* IUnknown methods */
  1703.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1704.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1705.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1706.  
  1707.     /* IDispatch methods */
  1708.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1709.  
  1710.     STDMETHOD(GetTypeInfo)(
  1711.       THIS_
  1712.       UINT itinfo,
  1713.       LCID lcid,
  1714.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1715.  
  1716.     STDMETHOD(GetIDsOfNames)(
  1717.       THIS_
  1718.       REFIID riid,
  1719.       OLECHAR FAR* FAR* rgszNames,
  1720.       UINT cNames,
  1721.       LCID lcid,
  1722.       DISPID FAR* rgdispid) PURE;
  1723.  
  1724.     STDMETHOD(Invoke)(
  1725.       THIS_
  1726.       DISPID dispidMember,
  1727.       REFIID riid,
  1728.       LCID lcid,
  1729.       WORD wFlags,
  1730.       DISPPARAMS FAR* pdispparams,
  1731.       VARIANT FAR* pvarResult,
  1732.       EXCEPINFO FAR* pexcepinfo,
  1733.       UINT FAR* puArgErr) PURE;
  1734. #endif
  1735.  
  1736.     /* _VBProject methods */
  1737.     STDMETHOD(get_Name)(THIS_ BSTR FAR* lpbstrName) PURE;
  1738.     STDMETHOD(put_Name)(THIS_ BSTR bstrName) PURE;
  1739.     STDMETHOD(AddToolboxProgID)(THIS_ BSTR ProgID, VARIANT FileName) PURE;
  1740.     STDMETHOD(get_FileName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  1741.     STDMETHOD(get_IsDirty)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  1742.     STDMETHOD(put_IsDirty)(THIS_ VARIANT_BOOL Dirty) PURE;
  1743.     STDMETHOD(WriteProperty)(THIS_ BSTR Section, BSTR Key, BSTR Value) PURE;
  1744.     STDMETHOD(ReadProperty)(THIS_ BSTR Section, BSTR Key, BSTR FAR* lpbstrValue) PURE;
  1745.     STDMETHOD(get_HelpFile)(THIS_ BSTR FAR* lpbstrHelpFile) PURE;
  1746.     STDMETHOD(put_HelpFile)(THIS_ BSTR bstrHelpFile) PURE;
  1747.     STDMETHOD(get_HelpContextID)(THIS_ long FAR* lpdwContextID) PURE;
  1748.     STDMETHOD(put_HelpContextID)(THIS_ long dwContextID) PURE;
  1749.     STDMETHOD(get_Description)(THIS_ BSTR FAR* lpbstrDescription) PURE;
  1750.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) PURE;
  1751.     STDMETHOD(get_References)(THIS_ References FAR* FAR* lppReferences) PURE;
  1752.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  1753.     STDMETHOD(get_Collection)(THIS_ VBProjects FAR* FAR* lppaReturn) PURE;
  1754.     STDMETHOD(get_StartMode)(THIS_ enum vbext_ProjectStartMode FAR* lpStartMode) PURE;
  1755.     STDMETHOD(put_StartMode)(THIS_ enum vbext_ProjectStartMode StartMode) PURE;
  1756.     STDMETHOD(get_CompatibleOleServer)(THIS_ BSTR FAR* lpbstrCompatibleOleServer) PURE;
  1757.     STDMETHOD(put_CompatibleOleServer)(THIS_ BSTR bstrCompatibleOleServer) PURE;
  1758.     STDMETHOD(SaveAs)(THIS_ BSTR FileName) PURE;
  1759.     STDMETHOD(MakeCompiledFile)(THIS) PURE;
  1760.     STDMETHOD(get_Type)(THIS_ enum vbext_ProjectType FAR* lpkind) PURE;
  1761.     STDMETHOD(put_Type)(THIS_ enum vbext_ProjectType Type) PURE;
  1762.     STDMETHOD(get_IconState)(THIS_ enum vbextSCCStatus FAR* lpIconState) PURE;
  1763.     STDMETHOD(put_IconState)(THIS_ enum vbextSCCStatus IconState) PURE;
  1764.     STDMETHOD(get_Saved)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  1765.     STDMETHOD(get_VBComponents)(THIS_ VBComponents FAR* FAR* lppcReturn) PURE;
  1766.     STDMETHOD(get_BuildFileName)(THIS_ BSTR FAR* lpbstrBldFName) PURE;
  1767.     STDMETHOD(put_BuildFileName)(THIS_ BSTR bstrBldFName) PURE;
  1768. };
  1769.  
  1770. DEFINE_GUID(CLSID_VBProject,0x0002E105L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1771.  
  1772. #ifdef __cplusplus
  1773. class VBProject;
  1774. #endif
  1775.  
  1776. DEFINE_GUID(IID_VBNewProjects,0x0002E133L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1777.  
  1778. /* Definition of interface: VBNewProjects */
  1779. #undef INTERFACE
  1780. #define INTERFACE VBNewProjects
  1781.  
  1782. DECLARE_INTERFACE_(VBNewProjects, IDispatch)
  1783. {
  1784. BEGIN_INTERFACE
  1785. #ifndef NO_BASEINTERFACE_FUNCS
  1786.  
  1787.     /* IUnknown methods */
  1788.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1789.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1790.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1791.  
  1792.     /* IDispatch methods */
  1793.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1794.  
  1795.     STDMETHOD(GetTypeInfo)(
  1796.       THIS_
  1797.       UINT itinfo,
  1798.       LCID lcid,
  1799.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1800.  
  1801.     STDMETHOD(GetIDsOfNames)(
  1802.       THIS_
  1803.       REFIID riid,
  1804.       OLECHAR FAR* FAR* rgszNames,
  1805.       UINT cNames,
  1806.       LCID lcid,
  1807.       DISPID FAR* rgdispid) PURE;
  1808.  
  1809.     STDMETHOD(Invoke)(
  1810.       THIS_
  1811.       DISPID dispidMember,
  1812.       REFIID riid,
  1813.       LCID lcid,
  1814.       WORD wFlags,
  1815.       DISPPARAMS FAR* pdispparams,
  1816.       VARIANT FAR* pvarResult,
  1817.       EXCEPINFO FAR* pexcepinfo,
  1818.       UINT FAR* puArgErr) PURE;
  1819. #endif
  1820.  
  1821.     /* VBNewProjects methods */
  1822.     STDMETHOD(Item)(THIS_ VARIANT index, VBProject FAR* FAR* lppcReturn) PURE;
  1823.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  1824.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  1825.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  1826. };
  1827.  
  1828. DEFINE_GUID(IID__VBProjects,0x0002E102L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  1829.  
  1830. /* Definition of interface: _VBProjects */
  1831. #undef INTERFACE
  1832. #define INTERFACE _VBProjects
  1833.  
  1834. DECLARE_INTERFACE_(_VBProjects, IDispatch)
  1835. {
  1836. BEGIN_INTERFACE
  1837. #ifndef NO_BASEINTERFACE_FUNCS
  1838.  
  1839.     /* IUnknown methods */
  1840.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1841.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1842.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1843.  
  1844.     /* IDispatch methods */
  1845.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1846.  
  1847.     STDMETHOD(GetTypeInfo)(
  1848.       THIS_
  1849.       UINT itinfo,
  1850.       LCID lcid,
  1851.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1852.  
  1853.     STDMETHOD(GetIDsOfNames)(
  1854.       THIS_
  1855.       REFIID riid,
  1856.       OLECHAR FAR* FAR* rgszNames,
  1857.       UINT cNames,
  1858.       LCID lcid,
  1859.       DISPID FAR* rgdispid) PURE;
  1860.  
  1861.     STDMETHOD(Invoke)(
  1862.       THIS_
  1863.       DISPID dispidMember,
  1864.       REFIID riid,
  1865.       LCID lcid,
  1866.       WORD wFlags,
  1867.       DISPPARAMS FAR* pdispparams,
  1868.       VARIANT FAR* pvarResult,
  1869.       EXCEPINFO FAR* pexcepinfo,
  1870.       UINT FAR* puArgErr) PURE;
  1871. #endif
  1872.  
  1873.     /* _VBProjects methods */
  1874.     STDMETHOD(Item)(THIS_ VARIANT index, VBProject FAR* FAR* lppcReturn) PURE;
  1875.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  1876.     STDMETHOD(get_Parent)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  1877.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  1878.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  1879.     STDMETHOD(Add)(THIS_ enum vbext_ProjectType Type, VARIANT_BOOL Exclusive, VBProject FAR* FAR* lppcReturn) PURE;
  1880.     STDMETHOD(AddFromTemplate)(THIS_ BSTR PathName, VARIANT_BOOL Exclusive, VBNewProjects FAR* FAR* lppcReturn) PURE;
  1881.     STDMETHOD(AddFromFile)(THIS_ BSTR PathName, VARIANT_BOOL Exclusive, VBNewProjects FAR* FAR* lppcReturn) PURE;
  1882.     STDMETHOD(Remove)(THIS_ VBProject FAR* lpc) PURE;
  1883.     STDMETHOD(get_StartProject)(THIS_ VBProject FAR* FAR* lppptReturn) PURE;
  1884.     STDMETHOD(put_StartProject)(THIS_ VBProject FAR* lpptNewActiveProj) PURE;
  1885.     STDMETHOD(FileName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  1886.     STDMETHOD(get_IconState)(THIS_ enum vbextSCCStatus FAR* lpIconState) PURE;
  1887.     STDMETHOD(put_IconState)(THIS_ enum vbextSCCStatus IconState) PURE;
  1888.     STDMETHOD(SaveAs)(THIS_ BSTR PathName) PURE;
  1889. };
  1890.  
  1891. DEFINE_GUID(CLSID_VBProjects,0xBE39F3D3L,0x1B13,0x11D0,0x88,0x7F,0x00,0xA0,0xC9,0x0F,0x27,0x44);
  1892.  
  1893. #ifdef __cplusplus
  1894. class VBProjects;
  1895. #endif
  1896.  
  1897. DEFINE_GUID(IID_SelectedComponents,0xEF404E1CL,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  1898.  
  1899. /* Definition of interface: SelectedComponents */
  1900. #undef INTERFACE
  1901. #define INTERFACE SelectedComponents
  1902.  
  1903. DECLARE_INTERFACE_(SelectedComponents, IDispatch)
  1904. {
  1905. BEGIN_INTERFACE
  1906. #ifndef NO_BASEINTERFACE_FUNCS
  1907.  
  1908.     /* IUnknown methods */
  1909.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1910.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1911.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1912.  
  1913.     /* IDispatch methods */
  1914.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1915.  
  1916.     STDMETHOD(GetTypeInfo)(
  1917.       THIS_
  1918.       UINT itinfo,
  1919.       LCID lcid,
  1920.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1921.  
  1922.     STDMETHOD(GetIDsOfNames)(
  1923.       THIS_
  1924.       REFIID riid,
  1925.       OLECHAR FAR* FAR* rgszNames,
  1926.       UINT cNames,
  1927.       LCID lcid,
  1928.       DISPID FAR* rgdispid) PURE;
  1929.  
  1930.     STDMETHOD(Invoke)(
  1931.       THIS_
  1932.       DISPID dispidMember,
  1933.       REFIID riid,
  1934.       LCID lcid,
  1935.       WORD wFlags,
  1936.       DISPPARAMS FAR* pdispparams,
  1937.       VARIANT FAR* pvarResult,
  1938.       EXCEPINFO FAR* pexcepinfo,
  1939.       UINT FAR* puArgErr) PURE;
  1940. #endif
  1941.  
  1942.     /* SelectedComponents methods */
  1943.     STDMETHOD(Item)(THIS_ int index, Component FAR* FAR* lppcReturn) PURE;
  1944.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  1945.     STDMETHOD(get_Parent)(THIS_ VBProject FAR* FAR* lppptReturn) PURE;
  1946.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  1947.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  1948. };
  1949.  
  1950. typedef enum vbext_ComponentType {
  1951.     vbext_ct_StdModule = 1,
  1952.     vbext_ct_ClassModule = 2,
  1953.     vbext_ct_MSForm = 3,
  1954.     vbext_ct_ResFile = 4,
  1955.     vbext_ct_VBForm = 5,
  1956.     vbext_ct_VBMDIForm = 6,
  1957.     vbext_ct_PropPage = 7,
  1958.     vbext_ct_UserControl = 8,
  1959.     vbext_ct_DocObject = 9,
  1960.     vbext_ct_RelatedDocument = 10,
  1961.     vbext_ct_ActiveXDesigner = 11
  1962. } vbext_ComponentType;
  1963.  
  1964. DEFINE_GUID(IID__Components,0x2F3304A0L,0x1602,0x11CE,0xBF,0xDC,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  1965.  
  1966. /* Definition of interface: _Components */
  1967. #undef INTERFACE
  1968. #define INTERFACE _Components
  1969.  
  1970. DECLARE_INTERFACE_(_Components, IDispatch)
  1971. {
  1972. BEGIN_INTERFACE
  1973. #ifndef NO_BASEINTERFACE_FUNCS
  1974.  
  1975.     /* IUnknown methods */
  1976.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1977.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  1978.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  1979.  
  1980.     /* IDispatch methods */
  1981.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  1982.  
  1983.     STDMETHOD(GetTypeInfo)(
  1984.       THIS_
  1985.       UINT itinfo,
  1986.       LCID lcid,
  1987.       ITypeInfo FAR* FAR* pptinfo) PURE;
  1988.  
  1989.     STDMETHOD(GetIDsOfNames)(
  1990.       THIS_
  1991.       REFIID riid,
  1992.       OLECHAR FAR* FAR* rgszNames,
  1993.       UINT cNames,
  1994.       LCID lcid,
  1995.       DISPID FAR* rgdispid) PURE;
  1996.  
  1997.     STDMETHOD(Invoke)(
  1998.       THIS_
  1999.       DISPID dispidMember,
  2000.       REFIID riid,
  2001.       LCID lcid,
  2002.       WORD wFlags,
  2003.       DISPPARAMS FAR* pdispparams,
  2004.       VARIANT FAR* pvarResult,
  2005.       EXCEPINFO FAR* pexcepinfo,
  2006.       UINT FAR* puArgErr) PURE;
  2007. #endif
  2008.  
  2009.     /* _Components methods */
  2010.     STDMETHOD(Item)(THIS_ VARIANT index, Component FAR* FAR* lppcReturn) PURE;
  2011.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  2012.     STDMETHOD(get_Parent)(THIS_ ProjectTemplate FAR* FAR* lppptReturn) PURE;
  2013.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2014.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2015. };
  2016.  
  2017. typedef enum vbext_StartupObject {
  2018.     vbext_so_SubMain = 0,
  2019.     vbext_so_None = 1
  2020. } vbext_StartupObject;
  2021.  
  2022. DEFINE_GUID(CLSID_Components,0x0002E143L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2023.  
  2024. #ifdef __cplusplus
  2025. class Components;
  2026. #endif
  2027.  
  2028. DEFINE_GUID(IID__VBComponents,0x0002E147L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2029.  
  2030. /* Definition of interface: _VBComponents */
  2031. #undef INTERFACE
  2032. #define INTERFACE _VBComponents
  2033.  
  2034. DECLARE_INTERFACE_(_VBComponents, IDispatch)
  2035. {
  2036. BEGIN_INTERFACE
  2037. #ifndef NO_BASEINTERFACE_FUNCS
  2038.  
  2039.     /* IUnknown methods */
  2040.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2041.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2042.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2043.  
  2044.     /* IDispatch methods */
  2045.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2046.  
  2047.     STDMETHOD(GetTypeInfo)(
  2048.       THIS_
  2049.       UINT itinfo,
  2050.       LCID lcid,
  2051.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2052.  
  2053.     STDMETHOD(GetIDsOfNames)(
  2054.       THIS_
  2055.       REFIID riid,
  2056.       OLECHAR FAR* FAR* rgszNames,
  2057.       UINT cNames,
  2058.       LCID lcid,
  2059.       DISPID FAR* rgdispid) PURE;
  2060.  
  2061.     STDMETHOD(Invoke)(
  2062.       THIS_
  2063.       DISPID dispidMember,
  2064.       REFIID riid,
  2065.       LCID lcid,
  2066.       WORD wFlags,
  2067.       DISPPARAMS FAR* pdispparams,
  2068.       VARIANT FAR* pvarResult,
  2069.       EXCEPINFO FAR* pexcepinfo,
  2070.       UINT FAR* puArgErr) PURE;
  2071. #endif
  2072.  
  2073.     /* _VBComponents methods */
  2074.     STDMETHOD(Item)(THIS_ VARIANT index, VBComponent FAR* FAR* lppcReturn) PURE;
  2075.     STDMETHOD(get_Parent)(THIS_ VBProject FAR* FAR* lppptReturn) PURE;
  2076.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2077.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2078.     STDMETHOD(Remove)(THIS_ VBComponent FAR* VBComponent) PURE;
  2079.     STDMETHOD(Add)(THIS_ enum vbext_ComponentType ComponentType, VBComponent FAR* FAR* lppComponent) PURE;
  2080.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  2081.     STDMETHOD(get_StartUpObject)(THIS_ VARIANT FAR* lpVar) PURE;
  2082.     STDMETHOD(put_StartUpObject)(THIS_ VARIANT varInput) PURE;
  2083.     STDMETHOD(AddFile)(THIS_ BSTR FileName, VARIANT_BOOL RelatedDocuement, VBComponent FAR* FAR* lppComponent) PURE;
  2084.     STDMETHOD(AddFromTemplate)(THIS_ BSTR FileName, VBComponent FAR* FAR* lppComponent) PURE;
  2085.     STDMETHOD(AddCustom)(THIS_ BSTR ProgID, VBComponent FAR* FAR* lppComponent) PURE;
  2086. };
  2087.  
  2088. DEFINE_GUID(CLSID_VBComponents,0x0002E146L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x49);
  2089.  
  2090. #ifdef __cplusplus
  2091. class VBComponents;
  2092. #endif
  2093.  
  2094. DEFINE_GUID(IID__Component,0xEF404E1FL,0xEDA6,0x101A,0x8D,0xAF,0x00,0xDD,0x01,0x0F,0x7E,0xBB);
  2095.  
  2096. /* Definition of interface: _Component */
  2097. #undef INTERFACE
  2098. #define INTERFACE _Component
  2099.  
  2100. DECLARE_INTERFACE_(_Component, IDispatch)
  2101. {
  2102. BEGIN_INTERFACE
  2103. #ifndef NO_BASEINTERFACE_FUNCS
  2104.  
  2105.     /* IUnknown methods */
  2106.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2107.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2108.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2109.  
  2110.     /* IDispatch methods */
  2111.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2112.  
  2113.     STDMETHOD(GetTypeInfo)(
  2114.       THIS_
  2115.       UINT itinfo,
  2116.       LCID lcid,
  2117.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2118.  
  2119.     STDMETHOD(GetIDsOfNames)(
  2120.       THIS_
  2121.       REFIID riid,
  2122.       OLECHAR FAR* FAR* rgszNames,
  2123.       UINT cNames,
  2124.       LCID lcid,
  2125.       DISPID FAR* rgdispid) PURE;
  2126.  
  2127.     STDMETHOD(Invoke)(
  2128.       THIS_
  2129.       DISPID dispidMember,
  2130.       REFIID riid,
  2131.       LCID lcid,
  2132.       WORD wFlags,
  2133.       DISPPARAMS FAR* pdispparams,
  2134.       VARIANT FAR* pvarResult,
  2135.       EXCEPINFO FAR* pexcepinfo,
  2136.       UINT FAR* puArgErr) PURE;
  2137. #endif
  2138.  
  2139.     /* _Component methods */
  2140.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  2141.     STDMETHOD(get_Parent)(THIS_ Components FAR* FAR* lppcReturn) PURE;
  2142.     STDMETHOD(get_IsDirty)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  2143.     STDMETHOD(put_IsDirty)(THIS_ VARIANT_BOOL DirtyFlag) PURE;
  2144.     STDMETHOD(get_FileNames)(THIS_ short Index, BSTR FAR* lpbstrReturn) PURE;
  2145.     STDMETHOD(SaveAs)(THIS_ BSTR NewFileName, VARIANT_BOOL FAR* lpfReturn) PURE;
  2146.     STDMETHOD(get_FileCount)(THIS_ short FAR* lpsReturn) PURE;
  2147.     STDMETHOD(get_IconState)(THIS_ long FAR* lpulReturn) PURE;
  2148.     STDMETHOD(put_IconState)(THIS_ long Value) PURE;
  2149.     STDMETHOD(InsertFile)(THIS_ BSTR FileName) PURE;
  2150.     STDMETHOD(Reload)(THIS) PURE;
  2151.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pbstrReturn) PURE;
  2152.     STDMETHOD(put_Name)(THIS_ BSTR bstrName) PURE;
  2153. };
  2154.  
  2155. DEFINE_GUID(CLSID_Component,0x0002E144L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2156.  
  2157. #ifdef __cplusplus
  2158. class Component;
  2159. #endif
  2160.  
  2161. DEFINE_GUID(IID__VBComponent,0x0002E148L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2162.  
  2163. /* Definition of interface: _VBComponent */
  2164. #undef INTERFACE
  2165. #define INTERFACE _VBComponent
  2166.  
  2167. DECLARE_INTERFACE_(_VBComponent, IDispatch)
  2168. {
  2169. BEGIN_INTERFACE
  2170. #ifndef NO_BASEINTERFACE_FUNCS
  2171.  
  2172.     /* IUnknown methods */
  2173.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2174.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2175.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2176.  
  2177.     /* IDispatch methods */
  2178.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2179.  
  2180.     STDMETHOD(GetTypeInfo)(
  2181.       THIS_
  2182.       UINT itinfo,
  2183.       LCID lcid,
  2184.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2185.  
  2186.     STDMETHOD(GetIDsOfNames)(
  2187.       THIS_
  2188.       REFIID riid,
  2189.       OLECHAR FAR* FAR* rgszNames,
  2190.       UINT cNames,
  2191.       LCID lcid,
  2192.       DISPID FAR* rgdispid) PURE;
  2193.  
  2194.     STDMETHOD(Invoke)(
  2195.       THIS_
  2196.       DISPID dispidMember,
  2197.       REFIID riid,
  2198.       LCID lcid,
  2199.       WORD wFlags,
  2200.       DISPPARAMS FAR* pdispparams,
  2201.       VARIANT FAR* pvarResult,
  2202.       EXCEPINFO FAR* pexcepinfo,
  2203.       UINT FAR* puArgErr) PURE;
  2204. #endif
  2205.  
  2206.     /* _VBComponent methods */
  2207.     STDMETHOD(get_IsDirty)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  2208.     STDMETHOD(put_IsDirty)(THIS_ VARIANT_BOOL DirtyFlag) PURE;
  2209.     STDMETHOD(get_FileNames)(THIS_ short Index, BSTR FAR* lpbstrReturn) PURE;
  2210.     STDMETHOD(SaveAs)(THIS_ BSTR NewFileName, VARIANT_BOOL FAR* lpfReturn) PURE;
  2211.     STDMETHOD(get_FileCount)(THIS_ short FAR* lpsReturn) PURE;
  2212.     STDMETHOD(get_IconState)(THIS_ long FAR* lpulReturn) PURE;
  2213.     STDMETHOD(put_IconState)(THIS_ long Value) PURE;
  2214.     STDMETHOD(InsertFile)(THIS_ BSTR FileName) PURE;
  2215.     STDMETHOD(Reload)(THIS) PURE;
  2216.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pbstrReturn) PURE;
  2217.     STDMETHOD(put_Name)(THIS_ BSTR bstrName) PURE;
  2218.     STDMETHOD(get_Designer)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  2219.     STDMETHOD(get_CodeModule)(THIS_ CodeModule FAR* FAR* ppVbaModule) PURE;
  2220.     STDMETHOD(get_Type)(THIS_ enum vbext_ComponentType FAR* pkind) PURE;
  2221.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  2222.     STDMETHOD(get_Collection)(THIS_ VBComponents FAR* FAR* lppcReturn) PURE;
  2223.     STDMETHOD(get_HasOpenDesigner)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  2224.     STDMETHOD(get_Properties)(THIS_ Properties FAR* FAR* lpppReturn) PURE;
  2225.     STDMETHOD(DesignerWindow)(THIS_ Window FAR* FAR* lppcReturn) PURE;
  2226.     STDMETHOD(ReadProperty)(THIS_ BSTR Key, BSTR FAR* lpbstrValue) PURE;
  2227.     STDMETHOD(WriteProperty)(THIS_ BSTR Key, BSTR Value) PURE;
  2228.     STDMETHOD(Activate)(THIS) PURE;
  2229.     STDMETHOD(get_HelpContextID)(THIS_ long FAR* lpdwContextID) PURE;
  2230.     STDMETHOD(put_HelpContextID)(THIS_ long dwContextID) PURE;
  2231.     STDMETHOD(get_Description)(THIS_ BSTR FAR* lpbstrDescription) PURE;
  2232.     STDMETHOD(put_Description)(THIS_ BSTR bstrDescription) PURE;
  2233.     STDMETHOD(get_DesignerID)(THIS_ BSTR FAR* pbstrReturn) PURE;
  2234. };
  2235.  
  2236. DEFINE_GUID(CLSID_VBComponent,0x0002E145L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x49);
  2237.  
  2238. #ifdef __cplusplus
  2239. class VBComponent;
  2240. #endif
  2241.  
  2242. DEFINE_GUID(IID_FormTemplate,0x79B1F921L,0xEC2C,0x101A,0xB1,0xF9,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  2243.  
  2244. /* Definition of interface: FormTemplate */
  2245. #undef INTERFACE
  2246. #define INTERFACE FormTemplate
  2247.  
  2248. DECLARE_INTERFACE_(FormTemplate, IDispatch)
  2249. {
  2250. BEGIN_INTERFACE
  2251. #ifndef NO_BASEINTERFACE_FUNCS
  2252.  
  2253.     /* IUnknown methods */
  2254.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2255.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2256.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2257.  
  2258.     /* IDispatch methods */
  2259.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2260.  
  2261.     STDMETHOD(GetTypeInfo)(
  2262.       THIS_
  2263.       UINT itinfo,
  2264.       LCID lcid,
  2265.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2266.  
  2267.     STDMETHOD(GetIDsOfNames)(
  2268.       THIS_
  2269.       REFIID riid,
  2270.       OLECHAR FAR* FAR* rgszNames,
  2271.       UINT cNames,
  2272.       LCID lcid,
  2273.       DISPID FAR* rgdispid) PURE;
  2274.  
  2275.     STDMETHOD(Invoke)(
  2276.       THIS_
  2277.       DISPID dispidMember,
  2278.       REFIID riid,
  2279.       LCID lcid,
  2280.       WORD wFlags,
  2281.       DISPPARAMS FAR* pdispparams,
  2282.       VARIANT FAR* pvarResult,
  2283.       EXCEPINFO FAR* pexcepinfo,
  2284.       UINT FAR* puArgErr) PURE;
  2285. #endif
  2286.  
  2287.     /* FormTemplate methods */
  2288.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  2289.     STDMETHOD(get_Parent)(THIS_ _ProjectTemplate FAR* FAR* lppptReturn) PURE;
  2290.     STDMETHOD(get_SelectedControlTemplates)(THIS_ SelectedControlTemplates FAR* FAR* lppsctReturn) PURE;
  2291.     STDMETHOD(get_ControlTemplates)(THIS_ ControlTemplates FAR* FAR* lppctReturn) PURE;
  2292.     STDMETHOD(get_Properties)(THIS_ Properties FAR* FAR* lpppReturn) PURE;
  2293.     STDMETHOD(AddMenuTemplate)(THIS_ BSTR Name, ControlTemplate FAR* Parent, ControlTemplate FAR* FAR* lppctReturn) PURE;
  2294.     STDMETHOD(InsertFile)(THIS_ BSTR FileName) PURE;
  2295. };
  2296.  
  2297. DEFINE_GUID(IID_VBForm,0x0002E11BL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2298.  
  2299. /* Definition of interface: VBForm */
  2300. #undef INTERFACE
  2301. #define INTERFACE VBForm
  2302.  
  2303. DECLARE_INTERFACE_(VBForm, IDispatch)
  2304. {
  2305. BEGIN_INTERFACE
  2306. #ifndef NO_BASEINTERFACE_FUNCS
  2307.  
  2308.     /* IUnknown methods */
  2309.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2310.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2311.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2312.  
  2313.     /* IDispatch methods */
  2314.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2315.  
  2316.     STDMETHOD(GetTypeInfo)(
  2317.       THIS_
  2318.       UINT itinfo,
  2319.       LCID lcid,
  2320.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2321.  
  2322.     STDMETHOD(GetIDsOfNames)(
  2323.       THIS_
  2324.       REFIID riid,
  2325.       OLECHAR FAR* FAR* rgszNames,
  2326.       UINT cNames,
  2327.       LCID lcid,
  2328.       DISPID FAR* rgdispid) PURE;
  2329.  
  2330.     STDMETHOD(Invoke)(
  2331.       THIS_
  2332.       DISPID dispidMember,
  2333.       REFIID riid,
  2334.       LCID lcid,
  2335.       WORD wFlags,
  2336.       DISPPARAMS FAR* pdispparams,
  2337.       VARIANT FAR* pvarResult,
  2338.       EXCEPINFO FAR* pexcepinfo,
  2339.       UINT FAR* puArgErr) PURE;
  2340. #endif
  2341.  
  2342.     /* VBForm methods */
  2343.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  2344.     STDMETHOD(get_Parent)(THIS_ VBComponent FAR* FAR* lpComponent) PURE;
  2345.     STDMETHOD(get_ContainedVBControls)(THIS_ ContainedVBControls FAR* FAR* lppsctReturn) PURE;
  2346.     STDMETHOD(get_SelectedVBControls)(THIS_ SelectedVBControls FAR* FAR* lppctReturn) PURE;
  2347.     STDMETHOD(get_CanPaste)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  2348.     STDMETHOD(Paste)(THIS) PURE;
  2349.     STDMETHOD(SelectAll)(THIS_ long FAR* lpSelectAll) PURE;
  2350.     STDMETHOD(get_VBControls)(THIS_ VBControls FAR* FAR* lppvbfcReturn) PURE;
  2351. };
  2352.  
  2353. DEFINE_GUID(IID_ControlTemplate,0x79B1F922L,0xEC2C,0x101A,0xB1,0xF9,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  2354.  
  2355. /* Definition of interface: ControlTemplate */
  2356. #undef INTERFACE
  2357. #define INTERFACE ControlTemplate
  2358.  
  2359. DECLARE_INTERFACE_(ControlTemplate, IDispatch)
  2360. {
  2361. BEGIN_INTERFACE
  2362. #ifndef NO_BASEINTERFACE_FUNCS
  2363.  
  2364.     /* IUnknown methods */
  2365.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2366.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2367.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2368.  
  2369.     /* IDispatch methods */
  2370.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2371.  
  2372.     STDMETHOD(GetTypeInfo)(
  2373.       THIS_
  2374.       UINT itinfo,
  2375.       LCID lcid,
  2376.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2377.  
  2378.     STDMETHOD(GetIDsOfNames)(
  2379.       THIS_
  2380.       REFIID riid,
  2381.       OLECHAR FAR* FAR* rgszNames,
  2382.       UINT cNames,
  2383.       LCID lcid,
  2384.       DISPID FAR* rgdispid) PURE;
  2385.  
  2386.     STDMETHOD(Invoke)(
  2387.       THIS_
  2388.       DISPID dispidMember,
  2389.       REFIID riid,
  2390.       LCID lcid,
  2391.       WORD wFlags,
  2392.       DISPPARAMS FAR* pdispparams,
  2393.       VARIANT FAR* pvarResult,
  2394.       EXCEPINFO FAR* pexcepinfo,
  2395.       UINT FAR* puArgErr) PURE;
  2396. #endif
  2397.  
  2398.     /* ControlTemplate methods */
  2399.     STDMETHOD(get_ClassName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  2400.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lppaReturn) PURE;
  2401.     STDMETHOD(get_Parent)(THIS_ ControlTemplates FAR* FAR* lppctReturn) PURE;
  2402.     STDMETHOD(get_Container)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  2403.     STDMETHOD(putref_Container)(THIS_ IDispatch * NewContainer) PURE;
  2404.     STDMETHOD(get_Properties)(THIS_ Properties FAR* FAR* lpppReturn) PURE;
  2405.     STDMETHOD(ZOrder)(THIS_ int Position, ControlTemplate FAR* FAR* lppctReturn) PURE;
  2406. };
  2407.  
  2408. typedef enum vbext_ControlType {
  2409.     vbext_ct_Light = 1,
  2410.     vbext_ct_Standard = 2,
  2411.     vbext_ct_Container = 3
  2412. } vbext_ControlType;
  2413.  
  2414. DEFINE_GUID(IID_VBControl,0x0002E11DL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2415.  
  2416. /* Definition of interface: VBControl */
  2417. #undef INTERFACE
  2418. #define INTERFACE VBControl
  2419.  
  2420. DECLARE_INTERFACE_(VBControl, IDispatch)
  2421. {
  2422. BEGIN_INTERFACE
  2423. #ifndef NO_BASEINTERFACE_FUNCS
  2424.  
  2425.     /* IUnknown methods */
  2426.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2427.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2428.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2429.  
  2430.     /* IDispatch methods */
  2431.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2432.  
  2433.     STDMETHOD(GetTypeInfo)(
  2434.       THIS_
  2435.       UINT itinfo,
  2436.       LCID lcid,
  2437.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2438.  
  2439.     STDMETHOD(GetIDsOfNames)(
  2440.       THIS_
  2441.       REFIID riid,
  2442.       OLECHAR FAR* FAR* rgszNames,
  2443.       UINT cNames,
  2444.       LCID lcid,
  2445.       DISPID FAR* rgdispid) PURE;
  2446.  
  2447.     STDMETHOD(Invoke)(
  2448.       THIS_
  2449.       DISPID dispidMember,
  2450.       REFIID riid,
  2451.       LCID lcid,
  2452.       WORD wFlags,
  2453.       DISPPARAMS FAR* pdispparams,
  2454.       VARIANT FAR* pvarResult,
  2455.       EXCEPINFO FAR* pexcepinfo,
  2456.       UINT FAR* puArgErr) PURE;
  2457. #endif
  2458.  
  2459.     /* VBControl methods */
  2460.     STDMETHOD(get_ClassName)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  2461.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  2462.     STDMETHOD(get_Collection)(THIS_ VBControls FAR* FAR* lpvbfccReturn) PURE;
  2463.     STDMETHOD(get_Container)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  2464.     STDMETHOD(putref_Container)(THIS_ IDispatch * NewContainer) PURE;
  2465.     STDMETHOD(get_Properties)(THIS_ Properties FAR* FAR* lpppReturn) PURE;
  2466.     STDMETHOD(get_ContainedVBControls)(THIS_ ContainedVBControls FAR* FAR* lpppReturn) PURE;
  2467.     STDMETHOD(get_InSelection)(THIS_ VARIANT_BOOL FAR* lpfReturn) PURE;
  2468.     STDMETHOD(put_InSelection)(THIS_ VARIANT_BOOL fInSelections) PURE;
  2469.     STDMETHOD(get_ControlObject)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  2470.     STDMETHOD(get_ControlType)(THIS_ enum vbext_ControlType FAR* pkind) PURE;
  2471.     STDMETHOD(ZOrder)(THIS_ int Position, VBControl FAR* FAR* lppvbcReturn) PURE;
  2472.     STDMETHOD(get_ProgID)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  2473.     STDMETHOD(get_WizardHook)(THIS_ IUnknown * FAR* lppunk) PURE;
  2474. };
  2475.  
  2476. DEFINE_GUID(IID_Property,0x0002E18DL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2477.  
  2478. /* Definition of interface: Property */
  2479. #undef INTERFACE
  2480. #define INTERFACE Property
  2481.  
  2482. DECLARE_INTERFACE_(Property, IDispatch)
  2483. {
  2484. BEGIN_INTERFACE
  2485. #ifndef NO_BASEINTERFACE_FUNCS
  2486.  
  2487.     /* IUnknown methods */
  2488.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2489.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2490.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2491.  
  2492.     /* IDispatch methods */
  2493.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2494.  
  2495.     STDMETHOD(GetTypeInfo)(
  2496.       THIS_
  2497.       UINT itinfo,
  2498.       LCID lcid,
  2499.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2500.  
  2501.     STDMETHOD(GetIDsOfNames)(
  2502.       THIS_
  2503.       REFIID riid,
  2504.       OLECHAR FAR* FAR* rgszNames,
  2505.       UINT cNames,
  2506.       LCID lcid,
  2507.       DISPID FAR* rgdispid) PURE;
  2508.  
  2509.     STDMETHOD(Invoke)(
  2510.       THIS_
  2511.       DISPID dispidMember,
  2512.       REFIID riid,
  2513.       LCID lcid,
  2514.       WORD wFlags,
  2515.       DISPPARAMS FAR* pdispparams,
  2516.       VARIANT FAR* pvarResult,
  2517.       EXCEPINFO FAR* pexcepinfo,
  2518.       UINT FAR* puArgErr) PURE;
  2519. #endif
  2520.  
  2521.     /* Property methods */
  2522.     STDMETHOD(get_Value)(THIS_ VARIANT FAR* lppvReturn) PURE;
  2523.     STDMETHOD(put_Value)(THIS_ VARIANT NewValue) PURE;
  2524.     STDMETHOD(get_IndexedValue)(THIS_ VARIANT Index1, VARIANT Index2, VARIANT Index3, VARIANT Index4, VARIANT FAR* lppvReturn) PURE;
  2525.     STDMETHOD(put_IndexedValue)(THIS_ VARIANT Index1, VARIANT Index2, VARIANT Index3, VARIANT Index4, VARIANT NewValue) PURE;
  2526.     STDMETHOD(get_NumIndices)(THIS_ short FAR* lpiRetVal) PURE;
  2527.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  2528.     STDMETHOD(get_Parent)(THIS_ Properties FAR* FAR* lpppReturn) PURE;
  2529.     STDMETHOD(get_Name)(THIS_ BSTR FAR* lpbstrReturn) PURE;
  2530.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lpaReturn) PURE;
  2531.     STDMETHOD(get_Collection)(THIS_ Properties FAR* FAR* lpppReturn) PURE;
  2532.     STDMETHOD(get_Object)(THIS_ IUnknown * FAR* lppunk) PURE;
  2533.     STDMETHOD(putref_Object)(THIS_ IUnknown * lpunk) PURE;
  2534. };
  2535.  
  2536. DEFINE_GUID(IID__Properties,0x0002E189L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2537.  
  2538. /* Definition of interface: _Properties */
  2539. #undef INTERFACE
  2540. #define INTERFACE _Properties
  2541.  
  2542. DECLARE_INTERFACE_(_Properties, IDispatch)
  2543. {
  2544. BEGIN_INTERFACE
  2545. #ifndef NO_BASEINTERFACE_FUNCS
  2546.  
  2547.     /* IUnknown methods */
  2548.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2549.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2550.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2551.  
  2552.     /* IDispatch methods */
  2553.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2554.  
  2555.     STDMETHOD(GetTypeInfo)(
  2556.       THIS_
  2557.       UINT itinfo,
  2558.       LCID lcid,
  2559.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2560.  
  2561.     STDMETHOD(GetIDsOfNames)(
  2562.       THIS_
  2563.       REFIID riid,
  2564.       OLECHAR FAR* FAR* rgszNames,
  2565.       UINT cNames,
  2566.       LCID lcid,
  2567.       DISPID FAR* rgdispid) PURE;
  2568.  
  2569.     STDMETHOD(Invoke)(
  2570.       THIS_
  2571.       DISPID dispidMember,
  2572.       REFIID riid,
  2573.       LCID lcid,
  2574.       WORD wFlags,
  2575.       DISPPARAMS FAR* pdispparams,
  2576.       VARIANT FAR* pvarResult,
  2577.       EXCEPINFO FAR* pexcepinfo,
  2578.       UINT FAR* puArgErr) PURE;
  2579. #endif
  2580.  
  2581.     /* _Properties methods */
  2582.     STDMETHOD(Item)(THIS_ VARIANT index, Property FAR* FAR* lplppReturn) PURE;
  2583.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  2584.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* lppidReturn) PURE;
  2585.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2586.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2587.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  2588. };
  2589.  
  2590. DEFINE_GUID(CLSID_Properties,0x0002E18AL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2591.  
  2592. #ifdef __cplusplus
  2593. class Properties;
  2594. #endif
  2595.  
  2596. DEFINE_GUID(IID_ControlTemplates,0x79B1F924L,0xEC2C,0x101A,0xB1,0xF9,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  2597.  
  2598. /* Definition of interface: ControlTemplates */
  2599. #undef INTERFACE
  2600. #define INTERFACE ControlTemplates
  2601.  
  2602. DECLARE_INTERFACE_(ControlTemplates, IDispatch)
  2603. {
  2604. BEGIN_INTERFACE
  2605. #ifndef NO_BASEINTERFACE_FUNCS
  2606.  
  2607.     /* IUnknown methods */
  2608.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2609.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2610.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2611.  
  2612.     /* IDispatch methods */
  2613.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2614.  
  2615.     STDMETHOD(GetTypeInfo)(
  2616.       THIS_
  2617.       UINT itinfo,
  2618.       LCID lcid,
  2619.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2620.  
  2621.     STDMETHOD(GetIDsOfNames)(
  2622.       THIS_
  2623.       REFIID riid,
  2624.       OLECHAR FAR* FAR* rgszNames,
  2625.       UINT cNames,
  2626.       LCID lcid,
  2627.       DISPID FAR* rgdispid) PURE;
  2628.  
  2629.     STDMETHOD(Invoke)(
  2630.       THIS_
  2631.       DISPID dispidMember,
  2632.       REFIID riid,
  2633.       LCID lcid,
  2634.       WORD wFlags,
  2635.       DISPPARAMS FAR* pdispparams,
  2636.       VARIANT FAR* pvarResult,
  2637.       EXCEPINFO FAR* pexcepinfo,
  2638.       UINT FAR* puArgErr) PURE;
  2639. #endif
  2640.  
  2641.     /* ControlTemplates methods */
  2642.     STDMETHOD(Item)(THIS_ VARIANT Item, VARIANT Index, ControlTemplate FAR* FAR* lppctReturn) PURE;
  2643.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lpaReturn) PURE;
  2644.     STDMETHOD(get_Parent)(THIS_ FormTemplate FAR* FAR* lppftReturn) PURE;
  2645.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2646.     STDMETHOD(Add)(THIS_ BSTR ClassName, VARIANT Container, ControlTemplate FAR* FAR* lppctReturn) PURE;
  2647.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2648. };
  2649.  
  2650. DEFINE_GUID(IID__ContainedVBControls,0x0002E11EL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2651.  
  2652. /* Definition of interface: _ContainedVBControls */
  2653. #undef INTERFACE
  2654. #define INTERFACE _ContainedVBControls
  2655.  
  2656. DECLARE_INTERFACE_(_ContainedVBControls, IDispatch)
  2657. {
  2658. BEGIN_INTERFACE
  2659. #ifndef NO_BASEINTERFACE_FUNCS
  2660.  
  2661.     /* IUnknown methods */
  2662.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2663.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2664.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2665.  
  2666.     /* IDispatch methods */
  2667.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2668.  
  2669.     STDMETHOD(GetTypeInfo)(
  2670.       THIS_
  2671.       UINT itinfo,
  2672.       LCID lcid,
  2673.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2674.  
  2675.     STDMETHOD(GetIDsOfNames)(
  2676.       THIS_
  2677.       REFIID riid,
  2678.       OLECHAR FAR* FAR* rgszNames,
  2679.       UINT cNames,
  2680.       LCID lcid,
  2681.       DISPID FAR* rgdispid) PURE;
  2682.  
  2683.     STDMETHOD(Invoke)(
  2684.       THIS_
  2685.       DISPID dispidMember,
  2686.       REFIID riid,
  2687.       LCID lcid,
  2688.       WORD wFlags,
  2689.       DISPPARAMS FAR* pdispparams,
  2690.       VARIANT FAR* pvarResult,
  2691.       EXCEPINFO FAR* pexcepinfo,
  2692.       UINT FAR* puArgErr) PURE;
  2693. #endif
  2694.  
  2695.     /* _ContainedVBControls methods */
  2696.     STDMETHOD(Item)(THIS_ VARIANT CollectionIndex, VARIANT ControlIndex, VBControl FAR* FAR* lppctReturn) PURE;
  2697.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lpaReturn) PURE;
  2698.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  2699.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2700.     STDMETHOD(Add)(THIS_ BSTR ProgID, VBControl FAR* RelativeVBControl, VARIANT_BOOL before, VBControl FAR* FAR* lppctReturn) PURE;
  2701.     STDMETHOD(Remove)(THIS_ VBControl FAR* lpcontrol) PURE;
  2702.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2703. };
  2704.  
  2705. DEFINE_GUID(CLSID_ContainedVBControls,0x0002E120L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2706.  
  2707. #ifdef __cplusplus
  2708. class ContainedVBControls;
  2709. #endif
  2710.  
  2711. DEFINE_GUID(IID__VBControls,0x0002E121L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2712.  
  2713. /* Definition of interface: _VBControls */
  2714. #undef INTERFACE
  2715. #define INTERFACE _VBControls
  2716.  
  2717. DECLARE_INTERFACE_(_VBControls, _ContainedVBControls)
  2718. {
  2719. BEGIN_INTERFACE
  2720. #ifndef NO_BASEINTERFACE_FUNCS
  2721.  
  2722.     /* IUnknown methods */
  2723.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2724.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2725.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2726.  
  2727.     /* IDispatch methods */
  2728.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2729.  
  2730.     STDMETHOD(GetTypeInfo)(
  2731.       THIS_
  2732.       UINT itinfo,
  2733.       LCID lcid,
  2734.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2735.  
  2736.     STDMETHOD(GetIDsOfNames)(
  2737.       THIS_
  2738.       REFIID riid,
  2739.       OLECHAR FAR* FAR* rgszNames,
  2740.       UINT cNames,
  2741.       LCID lcid,
  2742.       DISPID FAR* rgdispid) PURE;
  2743.  
  2744.     STDMETHOD(Invoke)(
  2745.       THIS_
  2746.       DISPID dispidMember,
  2747.       REFIID riid,
  2748.       LCID lcid,
  2749.       WORD wFlags,
  2750.       DISPPARAMS FAR* pdispparams,
  2751.       VARIANT FAR* pvarResult,
  2752.       EXCEPINFO FAR* pexcepinfo,
  2753.       UINT FAR* puArgErr) PURE;
  2754.  
  2755.     /* _ContainedVBControls methods */
  2756.     STDMETHOD(Item)(THIS_ VARIANT CollectionIndex, VARIANT ControlIndex, VBControl FAR* FAR* lppctReturn) PURE;
  2757.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lpaReturn) PURE;
  2758.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  2759.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2760.     STDMETHOD(Add)(THIS_ BSTR ProgID, VBControl FAR* RelativeVBControl, VARIANT_BOOL before, VBControl FAR* FAR* lppctReturn) PURE;
  2761.     STDMETHOD(Remove)(THIS_ VBControl FAR* lpcontrol) PURE;
  2762.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2763. #endif
  2764.  
  2765.     /* _VBControls methods */
  2766. };
  2767.  
  2768. DEFINE_GUID(CLSID_VBControls,0x0002E123L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2769.  
  2770. #ifdef __cplusplus
  2771. class VBControls;
  2772. #endif
  2773.  
  2774. DEFINE_GUID(IID_SelectedControlTemplates,0x79B1F926L,0xEC2C,0x101A,0xB1,0xF9,0x08,0x00,0x2B,0x2B,0x8C,0xDA);
  2775.  
  2776. /* Definition of interface: SelectedControlTemplates */
  2777. #undef INTERFACE
  2778. #define INTERFACE SelectedControlTemplates
  2779.  
  2780. DECLARE_INTERFACE_(SelectedControlTemplates, IDispatch)
  2781. {
  2782. BEGIN_INTERFACE
  2783. #ifndef NO_BASEINTERFACE_FUNCS
  2784.  
  2785.     /* IUnknown methods */
  2786.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2787.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2788.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2789.  
  2790.     /* IDispatch methods */
  2791.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2792.  
  2793.     STDMETHOD(GetTypeInfo)(
  2794.       THIS_
  2795.       UINT itinfo,
  2796.       LCID lcid,
  2797.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2798.  
  2799.     STDMETHOD(GetIDsOfNames)(
  2800.       THIS_
  2801.       REFIID riid,
  2802.       OLECHAR FAR* FAR* rgszNames,
  2803.       UINT cNames,
  2804.       LCID lcid,
  2805.       DISPID FAR* rgdispid) PURE;
  2806.  
  2807.     STDMETHOD(Invoke)(
  2808.       THIS_
  2809.       DISPID dispidMember,
  2810.       REFIID riid,
  2811.       LCID lcid,
  2812.       WORD wFlags,
  2813.       DISPPARAMS FAR* pdispparams,
  2814.       VARIANT FAR* pvarResult,
  2815.       EXCEPINFO FAR* pexcepinfo,
  2816.       UINT FAR* puArgErr) PURE;
  2817. #endif
  2818.  
  2819.     /* SelectedControlTemplates methods */
  2820.     STDMETHOD(Item)(THIS_ long Item, ControlTemplate FAR* FAR* lppctReturn) PURE;
  2821.     STDMETHOD(get_Application)(THIS_ Application FAR* FAR* lpaReturn) PURE;
  2822.     STDMETHOD(get_Parent)(THIS_ FormTemplate FAR* FAR* lppftReturn) PURE;
  2823.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2824.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2825. };
  2826.  
  2827. DEFINE_GUID(IID__SelectedControls,0x0002E124L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2828.  
  2829. /* Definition of interface: _SelectedControls */
  2830. #undef INTERFACE
  2831. #define INTERFACE _SelectedControls
  2832.  
  2833. DECLARE_INTERFACE_(_SelectedControls, IDispatch)
  2834. {
  2835. BEGIN_INTERFACE
  2836. #ifndef NO_BASEINTERFACE_FUNCS
  2837.  
  2838.     /* IUnknown methods */
  2839.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2840.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2841.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2842.  
  2843.     /* IDispatch methods */
  2844.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2845.  
  2846.     STDMETHOD(GetTypeInfo)(
  2847.       THIS_
  2848.       UINT itinfo,
  2849.       LCID lcid,
  2850.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2851.  
  2852.     STDMETHOD(GetIDsOfNames)(
  2853.       THIS_
  2854.       REFIID riid,
  2855.       OLECHAR FAR* FAR* rgszNames,
  2856.       UINT cNames,
  2857.       LCID lcid,
  2858.       DISPID FAR* rgdispid) PURE;
  2859.  
  2860.     STDMETHOD(Invoke)(
  2861.       THIS_
  2862.       DISPID dispidMember,
  2863.       REFIID riid,
  2864.       LCID lcid,
  2865.       WORD wFlags,
  2866.       DISPPARAMS FAR* pdispparams,
  2867.       VARIANT FAR* pvarResult,
  2868.       EXCEPINFO FAR* pexcepinfo,
  2869.       UINT FAR* puArgErr) PURE;
  2870. #endif
  2871.  
  2872.     /* _SelectedControls methods */
  2873.     STDMETHOD(Item)(THIS_ VARIANT CollectionIndex, VARIANT ControlIndex, VBControl FAR* FAR* lppvbcReturn) PURE;
  2874.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lpaReturn) PURE;
  2875.     STDMETHOD(get_Parent)(THIS_ VBForm FAR* FAR* lppiuReturn) PURE;
  2876.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  2877.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  2878.     STDMETHOD(Clear)(THIS_ long FAR* lpClear) PURE;
  2879.     STDMETHOD(Cut)(THIS) PURE;
  2880.     STDMETHOD(Copy)(THIS) PURE;
  2881. };
  2882.  
  2883. DEFINE_GUID(CLSID_SelectedVBControls,0x0002E126L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2884.  
  2885. #ifdef __cplusplus
  2886. class SelectedVBControls;
  2887. #endif
  2888.  
  2889. typedef enum vbextMenuShortcut {
  2890.     vbextMenuShortcutCtrlA = 1,
  2891.     vbextMenuShortcutCtrlB = 2,
  2892.     vbextMenuShortcutCtrlC = 3,
  2893.     vbextMenuShortcutCtrlD = 4,
  2894.     vbextMenuShortcutCtrlE = 5,
  2895.     vbextMenuShortcutCtrlF = 6,
  2896.     vbextMenuShortcutCtrlG = 7,
  2897.     vbextMenuShortcutCtrlH = 8,
  2898.     vbextMenuShortcutCtrlI = 9,
  2899.     vbextMenuShortcutCtrlJ = 10,
  2900.     vbextMenuShortcutCtrlK = 11,
  2901.     vbextMenuShortcutCtrlL = 12,
  2902.     vbextMenuShortcutCtrlM = 13,
  2903.     vbextMenuShortcutCtrlN = 14,
  2904.     vbextMenuShortcutCtrlO = 15,
  2905.     vbextMenuShortcutCtrlP = 16,
  2906.     vbextMenuShortcutCtrlQ = 17,
  2907.     vbextMenuShortcutCtrlR = 18,
  2908.     vbextMenuShortcutCtrlS = 19,
  2909.     vbextMenuShortcutCtrlT = 20,
  2910.     vbextMenuShortcutCtrlU = 21,
  2911.     vbextMenuShortcutCtrlV = 22,
  2912.     vbextMenuShortcutCtrlW = 23,
  2913.     vbextMenuShortcutCtrlX = 24,
  2914.     vbextMenuShortcutCtrlY = 25,
  2915.     vbextMenuShortcutCtrlZ = 26,
  2916.     vbextMenuShortcutF1 = 27,
  2917.     vbextMenuShortcutF2 = 28,
  2918.     vbextMenuShortcutF3 = 29,
  2919.     vbextMenuShortcutF4 = 30,
  2920.     vbextMenuShortcutF5 = 31,
  2921.     vbextMenuShortcutF6 = 32,
  2922.     vbextMenuShortcutF7 = 33,
  2923.     vbextMenuShortcutF8 = 34,
  2924.     vbextMenuShortcutF9 = 35,
  2925.     vbextMenuShortcutF11 = 37,
  2926.     vbextMenuShortcutF12 = 38,
  2927.     vbextMenuShortcutCtrlF1 = 39,
  2928.     vbextMenuShortcutCtrlF2 = 40,
  2929.     vbextMenuShortcutCtrlF3 = 41,
  2930.     vbextMenuShortcutCtrlF4 = 42,
  2931.     vbextMenuShortcutCtrlF5 = 43,
  2932.     vbextMenuShortcutCtrlF6 = 44,
  2933.     vbextMenuShortcutCtrlF7 = 45,
  2934.     vbextMenuShortcutCtrlF8 = 46,
  2935.     vbextMenuShortcutCtrlF9 = 47,
  2936.     vbextMenuShortcutCtrlF11 = 49,
  2937.     vbextMenuShortcutCtrlF12 = 50,
  2938.     vbextMenuShortcutShiftF1 = 51,
  2939.     vbextMenuShortcutShiftF2 = 52,
  2940.     vbextMenuShortcutShiftF3 = 53,
  2941.     vbextMenuShortcutShiftF4 = 54,
  2942.     vbextMenuShortcutShiftF5 = 55,
  2943.     vbextMenuShortcutShiftF6 = 56,
  2944.     vbextMenuShortcutShiftF7 = 57,
  2945.     vbextMenuShortcutShiftF8 = 58,
  2946.     vbextMenuShortcutShiftF9 = 59,
  2947.     vbextMenuShortcutShiftF11 = 61,
  2948.     vbextMenuShortcutShiftF12 = 62,
  2949.     vbextMenuShortcutCtrlShiftF1 = 63,
  2950.     vbextMenuShortcutCtrlShiftF2 = 64,
  2951.     vbextMenuShortcutCtrlShiftF3 = 65,
  2952.     vbextMenuShortcutCtrlShiftF4 = 66,
  2953.     vbextMenuShortcutCtrlShiftF5 = 67,
  2954.     vbextMenuShortcutCtrlShiftF6 = 68,
  2955.     vbextMenuShortcutCtrlShiftF7 = 69,
  2956.     vbextMenuShortcutCtrlShiftF8 = 70,
  2957.     vbextMenuShortcutCtrlShiftF9 = 71,
  2958.     vbextMenuShortcutCtrlShiftF11 = 73,
  2959.     vbextMenuShortcutCtrlShiftF12 = 74,
  2960.     vbextMenuShortcutCtrlIns = 75,
  2961.     vbextMenuShortcutShiftIns = 76,
  2962.     vbextMenuShortcutDel = 77,
  2963.     vbextMenuShortcutShiftDel = 78,
  2964.     vbextMenuShortcutAltBksp = 79
  2965. } vbextMenuShortcut;
  2966.  
  2967. DEFINE_GUID(IID__AddIns,0x0002E109L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  2968.  
  2969. /* Definition of interface: _AddIns */
  2970. #undef INTERFACE
  2971. #define INTERFACE _AddIns
  2972.  
  2973. DECLARE_INTERFACE_(_AddIns, IDispatch)
  2974. {
  2975. BEGIN_INTERFACE
  2976. #ifndef NO_BASEINTERFACE_FUNCS
  2977.  
  2978.     /* IUnknown methods */
  2979.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  2980.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  2981.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  2982.  
  2983.     /* IDispatch methods */
  2984.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  2985.  
  2986.     STDMETHOD(GetTypeInfo)(
  2987.       THIS_
  2988.       UINT itinfo,
  2989.       LCID lcid,
  2990.       ITypeInfo FAR* FAR* pptinfo) PURE;
  2991.  
  2992.     STDMETHOD(GetIDsOfNames)(
  2993.       THIS_
  2994.       REFIID riid,
  2995.       OLECHAR FAR* FAR* rgszNames,
  2996.       UINT cNames,
  2997.       LCID lcid,
  2998.       DISPID FAR* rgdispid) PURE;
  2999.  
  3000.     STDMETHOD(Invoke)(
  3001.       THIS_
  3002.       DISPID dispidMember,
  3003.       REFIID riid,
  3004.       LCID lcid,
  3005.       WORD wFlags,
  3006.       DISPPARAMS FAR* pdispparams,
  3007.       VARIANT FAR* pvarResult,
  3008.       EXCEPINFO FAR* pexcepinfo,
  3009.       UINT FAR* puArgErr) PURE;
  3010. #endif
  3011.  
  3012.     /* _AddIns methods */
  3013.     STDMETHOD(Item)(THIS_ VARIANT Index, AddIn FAR* FAR* lppaddin) PURE;
  3014.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppVBA) PURE;
  3015.     STDMETHOD(get_Parent)(THIS_ VBEOBJ FAR* FAR* lppVBA) PURE;
  3016.     STDMETHOD(get_Count)(THIS_ long FAR* lplReturn) PURE;
  3017.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* lppiuReturn) PURE;
  3018.     STDMETHOD(Update)(THIS) PURE;
  3019. };
  3020.  
  3021. DEFINE_GUID(CLSID_Addins,0x0002E183L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3022.  
  3023. #ifdef __cplusplus
  3024. class Addins;
  3025. #endif
  3026.  
  3027. typedef enum vbext_ConnectMode {
  3028.     vbext_cm_AfterStartup = 0,
  3029.     vbext_cm_Startup = 1,
  3030.     vbext_cm_External = 2
  3031. } vbext_ConnectMode;
  3032.  
  3033. typedef enum vbext_DisconnectMode {
  3034.     vbext_dm_HostShutdown = 0,
  3035.     vbext_dm_UserClosed = 1
  3036. } vbext_DisconnectMode;
  3037.  
  3038. DEFINE_GUID(IID_AddIn,0x0002E10BL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3039.  
  3040. /* Definition of interface: AddIn */
  3041. #undef INTERFACE
  3042. #define INTERFACE AddIn
  3043.  
  3044. DECLARE_INTERFACE_(AddIn, IDispatch)
  3045. {
  3046. BEGIN_INTERFACE
  3047. #ifndef NO_BASEINTERFACE_FUNCS
  3048.  
  3049.     /* IUnknown methods */
  3050.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3051.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3052.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3053.  
  3054.     /* IDispatch methods */
  3055.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3056.  
  3057.     STDMETHOD(GetTypeInfo)(
  3058.       THIS_
  3059.       UINT itinfo,
  3060.       LCID lcid,
  3061.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3062.  
  3063.     STDMETHOD(GetIDsOfNames)(
  3064.       THIS_
  3065.       REFIID riid,
  3066.       OLECHAR FAR* FAR* rgszNames,
  3067.       UINT cNames,
  3068.       LCID lcid,
  3069.       DISPID FAR* rgdispid) PURE;
  3070.  
  3071.     STDMETHOD(Invoke)(
  3072.       THIS_
  3073.       DISPID dispidMember,
  3074.       REFIID riid,
  3075.       LCID lcid,
  3076.       WORD wFlags,
  3077.       DISPPARAMS FAR* pdispparams,
  3078.       VARIANT FAR* pvarResult,
  3079.       EXCEPINFO FAR* pexcepinfo,
  3080.       UINT FAR* puArgErr) PURE;
  3081. #endif
  3082.  
  3083.     /* AddIn methods */
  3084.     STDMETHOD(get_Description)(THIS_ BSTR FAR* lpbstr) PURE;
  3085.     STDMETHOD(put_Description)(THIS_ BSTR bstr) PURE;
  3086.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppVBE) PURE;
  3087.     STDMETHOD(get_Collection)(THIS_ AddIns FAR* FAR* lppaddins) PURE;
  3088.     STDMETHOD(get_ProgID)(THIS_ BSTR FAR* lpbstr) PURE;
  3089.     STDMETHOD(get_Guid)(THIS_ BSTR FAR* lpbstr) PURE;
  3090.     STDMETHOD(get_Connect)(THIS_ VARIANT_BOOL FAR* lpfConnect) PURE;
  3091.     STDMETHOD(put_Connect)(THIS_ VARIANT_BOOL fConnect) PURE;
  3092.     STDMETHOD(get_Object)(THIS_ IDispatch * FAR* lppdisp) PURE;
  3093.     STDMETHOD(put_Object)(THIS_ IDispatch * _lpdispObject) PURE;
  3094. };
  3095.  
  3096. DEFINE_GUID(IID_IDTExtensibility,0x0002E151L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3097.  
  3098. /* Definition of interface: IDTExtensibility */
  3099. #undef INTERFACE
  3100. #define INTERFACE IDTExtensibility
  3101.  
  3102. DECLARE_INTERFACE_(IDTExtensibility, IDispatch)
  3103. {
  3104. BEGIN_INTERFACE
  3105. #ifndef NO_BASEINTERFACE_FUNCS
  3106.  
  3107.     /* IUnknown methods */
  3108.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3109.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3110.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3111.  
  3112.     /* IDispatch methods */
  3113.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3114.  
  3115.     STDMETHOD(GetTypeInfo)(
  3116.       THIS_
  3117.       UINT itinfo,
  3118.       LCID lcid,
  3119.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3120.  
  3121.     STDMETHOD(GetIDsOfNames)(
  3122.       THIS_
  3123.       REFIID riid,
  3124.       OLECHAR FAR* FAR* rgszNames,
  3125.       UINT cNames,
  3126.       LCID lcid,
  3127.       DISPID FAR* rgdispid) PURE;
  3128.  
  3129.     STDMETHOD(Invoke)(
  3130.       THIS_
  3131.       DISPID dispidMember,
  3132.       REFIID riid,
  3133.       LCID lcid,
  3134.       WORD wFlags,
  3135.       DISPPARAMS FAR* pdispparams,
  3136.       VARIANT FAR* pvarResult,
  3137.       EXCEPINFO FAR* pexcepinfo,
  3138.       UINT FAR* puArgErr) PURE;
  3139. #endif
  3140.  
  3141.     /* IDTExtensibility methods */
  3142.     STDMETHOD(OnConnection)(THIS_ IDispatch * VBInst, enum vbext_ConnectMode ConnectMode, AddIn FAR* AddInInst, SAFEARRAY FAR* FAR* custom) PURE;
  3143.     STDMETHOD(OnDisconnection)(THIS_ enum vbext_DisconnectMode RemoveMode, SAFEARRAY FAR* FAR* custom) PURE;
  3144.     STDMETHOD(OnAddInsUpdate)(THIS_ SAFEARRAY FAR* FAR* custom) PURE;
  3145.     STDMETHOD(OnStartupComplete)(THIS_ SAFEARRAY FAR* FAR* custom) PURE;
  3146. };
  3147.  
  3148. typedef enum {
  3149.     vbext_pk_Proc = 0,
  3150.     vbext_pk_Let = 1,
  3151.     vbext_pk_Set = 2,
  3152.     vbext_pk_Get = 3
  3153. } vbext_ProcKind;
  3154.  
  3155. DEFINE_GUID(IID__CodeModule,0x0002E16DL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3156.  
  3157. /* Definition of interface: _CodeModule */
  3158. #undef INTERFACE
  3159. #define INTERFACE _CodeModule
  3160.  
  3161. DECLARE_INTERFACE_(_CodeModule, IDispatch)
  3162. {
  3163. BEGIN_INTERFACE
  3164. #ifndef NO_BASEINTERFACE_FUNCS
  3165.  
  3166.     /* IUnknown methods */
  3167.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3168.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3169.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3170.  
  3171.     /* IDispatch methods */
  3172.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3173.  
  3174.     STDMETHOD(GetTypeInfo)(
  3175.       THIS_
  3176.       UINT itinfo,
  3177.       LCID lcid,
  3178.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3179.  
  3180.     STDMETHOD(GetIDsOfNames)(
  3181.       THIS_
  3182.       REFIID riid,
  3183.       OLECHAR FAR* FAR* rgszNames,
  3184.       UINT cNames,
  3185.       LCID lcid,
  3186.       DISPID FAR* rgdispid) PURE;
  3187.  
  3188.     STDMETHOD(Invoke)(
  3189.       THIS_
  3190.       DISPID dispidMember,
  3191.       REFIID riid,
  3192.       LCID lcid,
  3193.       WORD wFlags,
  3194.       DISPPARAMS FAR* pdispparams,
  3195.       VARIANT FAR* pvarResult,
  3196.       EXCEPINFO FAR* pexcepinfo,
  3197.       UINT FAR* puArgErr) PURE;
  3198. #endif
  3199.  
  3200.     /* _CodeModule methods */
  3201.     STDMETHOD(get_Parent)(THIS_ VBComponent FAR* FAR* retval) PURE;
  3202.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* retval) PURE;
  3203.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pbstrName) PURE;
  3204.     STDMETHOD(put_Name)(THIS_ BSTR bstrName) PURE;
  3205.     STDMETHOD(AddFromString)(THIS_ BSTR String) PURE;
  3206.     STDMETHOD(AddFromFile)(THIS_ BSTR FileName) PURE;
  3207.     STDMETHOD(get_Lines)(THIS_ long StartLine, long Count, BSTR FAR* String) PURE;
  3208.     STDMETHOD(get_CountOfLines)(THIS_ long FAR* CountOfLines) PURE;
  3209.     STDMETHOD(InsertLines)(THIS_ long Line, BSTR String) PURE;
  3210.     STDMETHOD(DeleteLines)(THIS_ long StartLine, long Count) PURE;
  3211.     STDMETHOD(ReplaceLine)(THIS_ long Line, BSTR String) PURE;
  3212.     STDMETHOD(get_ProcStartLine)(THIS_ BSTR ProcName, vbext_ProcKind ProcKind, long FAR* ProcStartLine) PURE;
  3213.     STDMETHOD(get_ProcCountLines)(THIS_ BSTR ProcName, vbext_ProcKind ProcKind, long FAR* ProcCountLines) PURE;
  3214.     STDMETHOD(get_ProcBodyLine)(THIS_ BSTR ProcName, vbext_ProcKind ProcKind, long FAR* ProcBodyLine) PURE;
  3215.     STDMETHOD(get_ProcOfLine)(THIS_ long line, vbext_ProcKind FAR* ProcKind, BSTR FAR* pbstrName) PURE;
  3216.     STDMETHOD(get_CountOfDeclarationLines)(THIS_ long FAR* pDeclCountOfLines) PURE;
  3217.     STDMETHOD(CreateEventProc)(THIS_ BSTR EventName, BSTR ObjectName, long FAR* line) PURE;
  3218.     STDMETHOD(Find)(THIS_ BSTR Target, long FAR* StartLine, long FAR* StartColumn, long FAR* EndLine, long FAR* EndColumn, VARIANT_BOOL WholeWord, VARIANT_BOOL MatchCase, VARIANT_BOOL PatternSearch, VARIANT_BOOL FAR* pfFound) PURE;
  3219.     STDMETHOD(get_CodePane)(THIS_ CodePane FAR* FAR* CodePane) PURE;
  3220.     STDMETHOD(get_Members)(THIS_ Members FAR* FAR* Members) PURE;
  3221. };
  3222.  
  3223. DEFINE_GUID(CLSID_CodeModule,0x0002E16FL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3224.  
  3225. #ifdef __cplusplus
  3226. class CodeModule;
  3227. #endif
  3228.  
  3229. DEFINE_GUID(IID__CodePanes,0x0002E171L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3230.  
  3231. /* Definition of interface: _CodePanes */
  3232. #undef INTERFACE
  3233. #define INTERFACE _CodePanes
  3234.  
  3235. DECLARE_INTERFACE_(_CodePanes, IDispatch)
  3236. {
  3237. BEGIN_INTERFACE
  3238. #ifndef NO_BASEINTERFACE_FUNCS
  3239.  
  3240.     /* IUnknown methods */
  3241.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3242.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3243.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3244.  
  3245.     /* IDispatch methods */
  3246.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3247.  
  3248.     STDMETHOD(GetTypeInfo)(
  3249.       THIS_
  3250.       UINT itinfo,
  3251.       LCID lcid,
  3252.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3253.  
  3254.     STDMETHOD(GetIDsOfNames)(
  3255.       THIS_
  3256.       REFIID riid,
  3257.       OLECHAR FAR* FAR* rgszNames,
  3258.       UINT cNames,
  3259.       LCID lcid,
  3260.       DISPID FAR* rgdispid) PURE;
  3261.  
  3262.     STDMETHOD(Invoke)(
  3263.       THIS_
  3264.       DISPID dispidMember,
  3265.       REFIID riid,
  3266.       LCID lcid,
  3267.       WORD wFlags,
  3268.       DISPPARAMS FAR* pdispparams,
  3269.       VARIANT FAR* pvarResult,
  3270.       EXCEPINFO FAR* pexcepinfo,
  3271.       UINT FAR* puArgErr) PURE;
  3272. #endif
  3273.  
  3274.     /* _CodePanes methods */
  3275.     STDMETHOD(get_Parent)(THIS_ VBEOBJ FAR* FAR* retval) PURE;
  3276.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* retval) PURE;
  3277.     STDMETHOD(Item)(THIS_ VARIANT index, CodePane FAR* FAR* CodePane) PURE;
  3278.     STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  3279.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* ppenum) PURE;
  3280.     STDMETHOD(get_Current)(THIS_ CodePane FAR* FAR* CodePane) PURE;
  3281.     STDMETHOD(put_Current)(THIS_ CodePane FAR* CodePane) PURE;
  3282. };
  3283.  
  3284. DEFINE_GUID(CLSID_CodePanes,0x0002E173L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3285.  
  3286. #ifdef __cplusplus
  3287. class CodePanes;
  3288. #endif
  3289.  
  3290. typedef enum {
  3291.     vbext_cv_ProcedureView = 0,
  3292.     vbext_cv_FullModuleView = 1
  3293. } vbext_CodePaneview;
  3294.  
  3295. DEFINE_GUID(IID__CodePane,0x0002E175L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3296.  
  3297. /* Definition of interface: _CodePane */
  3298. #undef INTERFACE
  3299. #define INTERFACE _CodePane
  3300.  
  3301. DECLARE_INTERFACE_(_CodePane, IDispatch)
  3302. {
  3303. BEGIN_INTERFACE
  3304. #ifndef NO_BASEINTERFACE_FUNCS
  3305.  
  3306.     /* IUnknown methods */
  3307.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3308.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3309.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3310.  
  3311.     /* IDispatch methods */
  3312.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3313.  
  3314.     STDMETHOD(GetTypeInfo)(
  3315.       THIS_
  3316.       UINT itinfo,
  3317.       LCID lcid,
  3318.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3319.  
  3320.     STDMETHOD(GetIDsOfNames)(
  3321.       THIS_
  3322.       REFIID riid,
  3323.       OLECHAR FAR* FAR* rgszNames,
  3324.       UINT cNames,
  3325.       LCID lcid,
  3326.       DISPID FAR* rgdispid) PURE;
  3327.  
  3328.     STDMETHOD(Invoke)(
  3329.       THIS_
  3330.       DISPID dispidMember,
  3331.       REFIID riid,
  3332.       LCID lcid,
  3333.       WORD wFlags,
  3334.       DISPPARAMS FAR* pdispparams,
  3335.       VARIANT FAR* pvarResult,
  3336.       EXCEPINFO FAR* pexcepinfo,
  3337.       UINT FAR* puArgErr) PURE;
  3338. #endif
  3339.  
  3340.     /* _CodePane methods */
  3341.     STDMETHOD(get_Collection)(THIS_ CodePanes FAR* FAR* retval) PURE;
  3342.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* retval) PURE;
  3343.     STDMETHOD(get_Window)(THIS_ Window FAR* FAR* retval) PURE;
  3344.     STDMETHOD(GetSelection)(THIS_ long FAR* StartLine, long FAR* StartColumn, long FAR* EndLine, long FAR* EndColumn) PURE;
  3345.     STDMETHOD(SetSelection)(THIS_ long StartLine, long StartColumn, long EndLine, long EndColumn) PURE;
  3346.     STDMETHOD(get_TopLine)(THIS_ long FAR* TopLine) PURE;
  3347.     STDMETHOD(put_TopLine)(THIS_ long TopLine) PURE;
  3348.     STDMETHOD(get_CountOfVisibleLines)(THIS_ long FAR* CountOfVisibleLines) PURE;
  3349.     STDMETHOD(get_CodeModule)(THIS_ CodeModule FAR* FAR* CodeModule) PURE;
  3350.     STDMETHOD(Show)(THIS) PURE;
  3351.     STDMETHOD(get_CodePaneView)(THIS_ vbext_CodePaneview FAR* pCodePaneview) PURE;
  3352. };
  3353.  
  3354. DEFINE_GUID(CLSID_CodePane,0x0002E177L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3355.  
  3356. #ifdef __cplusplus
  3357. class CodePane;
  3358. #endif
  3359.  
  3360. DEFINE_GUID(IID__References,0x0002E179L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3361.  
  3362. /* Definition of interface: _References */
  3363. #undef INTERFACE
  3364. #define INTERFACE _References
  3365.  
  3366. DECLARE_INTERFACE_(_References, IDispatch)
  3367. {
  3368. BEGIN_INTERFACE
  3369. #ifndef NO_BASEINTERFACE_FUNCS
  3370.  
  3371.     /* IUnknown methods */
  3372.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3373.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3374.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3375.  
  3376.     /* IDispatch methods */
  3377.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3378.  
  3379.     STDMETHOD(GetTypeInfo)(
  3380.       THIS_
  3381.       UINT itinfo,
  3382.       LCID lcid,
  3383.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3384.  
  3385.     STDMETHOD(GetIDsOfNames)(
  3386.       THIS_
  3387.       REFIID riid,
  3388.       OLECHAR FAR* FAR* rgszNames,
  3389.       UINT cNames,
  3390.       LCID lcid,
  3391.       DISPID FAR* rgdispid) PURE;
  3392.  
  3393.     STDMETHOD(Invoke)(
  3394.       THIS_
  3395.       DISPID dispidMember,
  3396.       REFIID riid,
  3397.       LCID lcid,
  3398.       WORD wFlags,
  3399.       DISPPARAMS FAR* pdispparams,
  3400.       VARIANT FAR* pvarResult,
  3401.       EXCEPINFO FAR* pexcepinfo,
  3402.       UINT FAR* puArgErr) PURE;
  3403. #endif
  3404.  
  3405.     /* _References methods */
  3406.     STDMETHOD(get_Parent)(THIS_ VBProject FAR* FAR* retval) PURE;
  3407.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* retval) PURE;
  3408.     STDMETHOD(Item)(THIS_ VARIANT index, Reference FAR* FAR* Reference) PURE;
  3409.     STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  3410.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* ppenum) PURE;
  3411.     STDMETHOD(AddFromGuid)(THIS_ BSTR Guid, long Major, long Minor, Reference FAR* FAR* Reference) PURE;
  3412.     STDMETHOD(AddFromFile)(THIS_ BSTR FileName, Reference FAR* FAR* Reference) PURE;
  3413.     STDMETHOD(Remove)(THIS_ Reference FAR* Reference) PURE;
  3414. };
  3415.  
  3416. typedef enum {
  3417.     vbext_rk_TypeLib = 0,
  3418.     vbext_rk_Project = 1
  3419. } vbext_RefKind;
  3420.  
  3421. DEFINE_GUID(IID_Reference,0x0002E17DL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3422.  
  3423. /* Definition of interface: Reference */
  3424. #undef INTERFACE
  3425. #define INTERFACE Reference
  3426.  
  3427. DECLARE_INTERFACE_(Reference, IDispatch)
  3428. {
  3429. BEGIN_INTERFACE
  3430. #ifndef NO_BASEINTERFACE_FUNCS
  3431.  
  3432.     /* IUnknown methods */
  3433.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3434.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3435.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3436.  
  3437.     /* IDispatch methods */
  3438.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3439.  
  3440.     STDMETHOD(GetTypeInfo)(
  3441.       THIS_
  3442.       UINT itinfo,
  3443.       LCID lcid,
  3444.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3445.  
  3446.     STDMETHOD(GetIDsOfNames)(
  3447.       THIS_
  3448.       REFIID riid,
  3449.       OLECHAR FAR* FAR* rgszNames,
  3450.       UINT cNames,
  3451.       LCID lcid,
  3452.       DISPID FAR* rgdispid) PURE;
  3453.  
  3454.     STDMETHOD(Invoke)(
  3455.       THIS_
  3456.       DISPID dispidMember,
  3457.       REFIID riid,
  3458.       LCID lcid,
  3459.       WORD wFlags,
  3460.       DISPPARAMS FAR* pdispparams,
  3461.       VARIANT FAR* pvarResult,
  3462.       EXCEPINFO FAR* pexcepinfo,
  3463.       UINT FAR* puArgErr) PURE;
  3464. #endif
  3465.  
  3466.     /* Reference methods */
  3467.     STDMETHOD(get_Collection)(THIS_ References FAR* FAR* retval) PURE;
  3468.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  3469.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pbstrName) PURE;
  3470.     STDMETHOD(get_Guid)(THIS_ BSTR FAR* pbstrGuid) PURE;
  3471.     STDMETHOD(get_Major)(THIS_ long FAR* pMajor) PURE;
  3472.     STDMETHOD(get_Minor)(THIS_ long FAR* pMinor) PURE;
  3473.     STDMETHOD(get_FullPath)(THIS_ BSTR FAR* pbstrLocation) PURE;
  3474.     STDMETHOD(get_BuiltIn)(THIS_ VARIANT_BOOL FAR* pfIsDefault) PURE;
  3475.     STDMETHOD(get_IsBroken)(THIS_ VARIANT_BOOL FAR* pfIsBroken) PURE;
  3476.     STDMETHOD(get_Type)(THIS_ vbext_RefKind FAR* pKind) PURE;
  3477.     STDMETHOD(get_Description)(THIS_ BSTR FAR* pbstrName) PURE;
  3478. };
  3479.  
  3480. DEFINE_GUID(DIID__dispReferences_Events,0x0002E19AL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3481.  
  3482. /* Definition of dispatch interface: _dispReferences_Events */
  3483. #undef INTERFACE
  3484. #define INTERFACE _dispReferences_Events
  3485.  
  3486. DECLARE_INTERFACE_(_dispReferences_Events, IDispatch)
  3487. {
  3488. BEGIN_INTERFACE
  3489. #ifndef NO_BASEINTERFACE_FUNCS
  3490.  
  3491.     /* IUnknown methods */
  3492.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3493.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3494.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3495.  
  3496.     /* IDispatch methods */
  3497.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3498.  
  3499.     STDMETHOD(GetTypeInfo)(
  3500.       THIS_
  3501.       UINT itinfo,
  3502.       LCID lcid,
  3503.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3504.  
  3505.     STDMETHOD(GetIDsOfNames)(
  3506.       THIS_
  3507.       REFIID riid,
  3508.       OLECHAR FAR* FAR* rgszNames,
  3509.       UINT cNames,
  3510.       LCID lcid,
  3511.       DISPID FAR* rgdispid) PURE;
  3512.  
  3513.     STDMETHOD(Invoke)(
  3514.       THIS_
  3515.       DISPID dispidMember,
  3516.       REFIID riid,
  3517.       LCID lcid,
  3518.       WORD wFlags,
  3519.       DISPPARAMS FAR* pdispparams,
  3520.       VARIANT FAR* pvarResult,
  3521.       EXCEPINFO FAR* pexcepinfo,
  3522.       UINT FAR* puArgErr) PURE;
  3523. #endif
  3524.  
  3525.     /* _dispReferences_Events methods:
  3526.     void ItemAdded(Reference FAR* Reference);
  3527.     void ItemRemoved(Reference FAR* Reference);
  3528.     */
  3529. };
  3530.  
  3531. DEFINE_GUID(CLSID_References,0x0002E17BL,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3532.  
  3533. #ifdef __cplusplus
  3534. class References;
  3535. #endif
  3536.  
  3537. DEFINE_GUID(IID__Members,0x0002E180L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3538.  
  3539. /* Definition of interface: _Members */
  3540. #undef INTERFACE
  3541. #define INTERFACE _Members
  3542.  
  3543. DECLARE_INTERFACE_(_Members, IDispatch)
  3544. {
  3545. BEGIN_INTERFACE
  3546. #ifndef NO_BASEINTERFACE_FUNCS
  3547.  
  3548.     /* IUnknown methods */
  3549.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3550.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3551.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3552.  
  3553.     /* IDispatch methods */
  3554.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3555.  
  3556.     STDMETHOD(GetTypeInfo)(
  3557.       THIS_
  3558.       UINT itinfo,
  3559.       LCID lcid,
  3560.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3561.  
  3562.     STDMETHOD(GetIDsOfNames)(
  3563.       THIS_
  3564.       REFIID riid,
  3565.       OLECHAR FAR* FAR* rgszNames,
  3566.       UINT cNames,
  3567.       LCID lcid,
  3568.       DISPID FAR* rgdispid) PURE;
  3569.  
  3570.     STDMETHOD(Invoke)(
  3571.       THIS_
  3572.       DISPID dispidMember,
  3573.       REFIID riid,
  3574.       LCID lcid,
  3575.       WORD wFlags,
  3576.       DISPPARAMS FAR* pdispparams,
  3577.       VARIANT FAR* pvarResult,
  3578.       EXCEPINFO FAR* pexcepinfo,
  3579.       UINT FAR* puArgErr) PURE;
  3580. #endif
  3581.  
  3582.     /* _Members methods */
  3583.     STDMETHOD(get_Parent)(THIS_ CodeModule FAR* FAR* CodeModule) PURE;
  3584.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  3585.     STDMETHOD(Item)(THIS_ VARIANT var, Member FAR* FAR* ppMember) PURE;
  3586.     STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  3587.     STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* ppenum) PURE;
  3588. };
  3589.  
  3590. DEFINE_GUID(CLSID_Members,0x0002E181L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3591.  
  3592. #ifdef __cplusplus
  3593. class Members;
  3594. #endif
  3595.  
  3596. typedef enum {
  3597.     vbext_mt_Method = 1,
  3598.     vbext_mt_Property = 2,
  3599.     vbext_mt_Variable = 3,
  3600.     vbext_mt_Event = 4,
  3601.     vbext_mt_Const = 5
  3602. } vbext_MemberType;
  3603.  
  3604. typedef enum {
  3605.     vbext_Private = 1,
  3606.     vbext_Public = 2,
  3607.     vbext_Friend = 3
  3608. } vbext_Scope;
  3609.  
  3610. DEFINE_GUID(IID_Member,0x0002E182L,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
  3611.  
  3612. /* Definition of interface: Member */
  3613. #undef INTERFACE
  3614. #define INTERFACE Member
  3615.  
  3616. DECLARE_INTERFACE_(Member, IDispatch)
  3617. {
  3618. BEGIN_INTERFACE
  3619. #ifndef NO_BASEINTERFACE_FUNCS
  3620.  
  3621.     /* IUnknown methods */
  3622.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3623.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3624.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3625.  
  3626.     /* IDispatch methods */
  3627.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3628.  
  3629.     STDMETHOD(GetTypeInfo)(
  3630.       THIS_
  3631.       UINT itinfo,
  3632.       LCID lcid,
  3633.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3634.  
  3635.     STDMETHOD(GetIDsOfNames)(
  3636.       THIS_
  3637.       REFIID riid,
  3638.       OLECHAR FAR* FAR* rgszNames,
  3639.       UINT cNames,
  3640.       LCID lcid,
  3641.       DISPID FAR* rgdispid) PURE;
  3642.  
  3643.     STDMETHOD(Invoke)(
  3644.       THIS_
  3645.       DISPID dispidMember,
  3646.       REFIID riid,
  3647.       LCID lcid,
  3648.       WORD wFlags,
  3649.       DISPPARAMS FAR* pdispparams,
  3650.       VARIANT FAR* pvarResult,
  3651.       EXCEPINFO FAR* pexcepinfo,
  3652.       UINT FAR* puArgErr) PURE;
  3653. #endif
  3654.  
  3655.     /* Member methods */
  3656.     STDMETHOD(get_Collection)(THIS_ Members FAR* FAR* ppMembers) PURE;
  3657.     STDMETHOD(get_VBEOBJ)(THIS_ VBEOBJ FAR* FAR* lppaReturn) PURE;
  3658.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pbstrName) PURE;
  3659.     STDMETHOD(get_Type)(THIS_ vbext_MemberType FAR* pKind) PURE;
  3660.     STDMETHOD(get_Scope)(THIS_ vbext_Scope FAR* pScope) PURE;
  3661.     STDMETHOD(get_Static)(THIS_ VARIANT_BOOL FAR* pfStatic) PURE;
  3662.     STDMETHOD(get_CodeLocation)(THIS_ long FAR* pline) PURE;
  3663.     STDMETHOD(get_Description)(THIS_ BSTR FAR* pbstrName) PURE;
  3664.     STDMETHOD(put_Description)(THIS_ BSTR bstrName) PURE;
  3665.     STDMETHOD(get_HelpContextId)(THIS_ long FAR* phelpId) PURE;
  3666.     STDMETHOD(put_HelpContextId)(THIS_ long helpId) PURE;
  3667.     STDMETHOD(get_Hidden)(THIS_ VARIANT_BOOL FAR* pfHidden) PURE;
  3668.     STDMETHOD(put_Hidden)(THIS_ VARIANT_BOOL fHidden) PURE;
  3669.     STDMETHOD(get_Browsable)(THIS_ VARIANT_BOOL FAR* pfBrowsable) PURE;
  3670.     STDMETHOD(put_Browsable)(THIS_ VARIANT_BOOL fBrowsable) PURE;
  3671.     STDMETHOD(get_UIDefault)(THIS_ VARIANT_BOOL FAR* pfBrowsable) PURE;
  3672.     STDMETHOD(put_UIDefault)(THIS_ VARIANT_BOOL fBrowsable) PURE;
  3673.     STDMETHOD(get_StandardMethod)(THIS_ long FAR* pStandardMethod) PURE;
  3674.     STDMETHOD(put_StandardMethod)(THIS_ long StandardMethod) PURE;
  3675.     STDMETHOD(get_Bindable)(THIS_ VARIANT_BOOL FAR* pfBrowsable) PURE;
  3676.     STDMETHOD(put_Bindable)(THIS_ VARIANT_BOOL fBrowsable) PURE;
  3677.     STDMETHOD(get_DefaultBind)(THIS_ VARIANT_BOOL FAR* pfBrowsable) PURE;
  3678.     STDMETHOD(put_DefaultBind)(THIS_ VARIANT_BOOL fBrowsable) PURE;
  3679.     STDMETHOD(get_DisplayBind)(THIS_ VARIANT_BOOL FAR* pfBrowsable) PURE;
  3680.     STDMETHOD(put_DisplayBind)(THIS_ VARIANT_BOOL fBrowsable) PURE;
  3681.     STDMETHOD(get_RequestEdit)(THIS_ VARIANT_BOOL FAR* pfBrowsable) PURE;
  3682.     STDMETHOD(put_RequestEdit)(THIS_ VARIANT_BOOL fBrowsable) PURE;
  3683.     STDMETHOD(get_Category)(THIS_ BSTR FAR* pbstrCategory) PURE;
  3684.     STDMETHOD(put_Category)(THIS_ BSTR bstrCategory) PURE;
  3685.     STDMETHOD(get_PropertyPage)(THIS_ BSTR FAR* pbstrPropertyPage) PURE;
  3686.     STDMETHOD(put_PropertyPage)(THIS_ BSTR bstrPropertyPage) PURE;
  3687. };
  3688.  
  3689. DEFINE_GUID(IID__VBBuildEvents,0xCC62AD81L,0x99EE,0x11D1,0xB6,0xE0,0x00,0xA0,0xC9,0x0F,0x27,0x44);
  3690.  
  3691. /* Definition of interface: _VBBuildEvents */
  3692. #undef INTERFACE
  3693. #define INTERFACE _VBBuildEvents
  3694.  
  3695. DECLARE_INTERFACE_(_VBBuildEvents, IUnknown)
  3696. {
  3697. BEGIN_INTERFACE
  3698. #ifndef NO_BASEINTERFACE_FUNCS
  3699.  
  3700.     /* IUnknown methods */
  3701.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3702.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3703.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3704. #endif
  3705.  
  3706.     /* _VBBuildEvents methods */
  3707. };
  3708.  
  3709. DEFINE_GUID(DIID__dispVBBuildEvents,0xCC62AD82L,0x99EE,0x11D1,0xB6,0xE0,0x00,0xA0,0xC9,0x0F,0x27,0x44);
  3710.  
  3711. /* Definition of dispatch interface: _dispVBBuildEvents */
  3712. #undef INTERFACE
  3713. #define INTERFACE _dispVBBuildEvents
  3714.  
  3715. DECLARE_INTERFACE_(_dispVBBuildEvents, IDispatch)
  3716. {
  3717. BEGIN_INTERFACE
  3718. #ifndef NO_BASEINTERFACE_FUNCS
  3719.  
  3720.     /* IUnknown methods */
  3721.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3722.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3723.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3724.  
  3725.     /* IDispatch methods */
  3726.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3727.  
  3728.     STDMETHOD(GetTypeInfo)(
  3729.       THIS_
  3730.       UINT itinfo,
  3731.       LCID lcid,
  3732.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3733.  
  3734.     STDMETHOD(GetIDsOfNames)(
  3735.       THIS_
  3736.       REFIID riid,
  3737.       OLECHAR FAR* FAR* rgszNames,
  3738.       UINT cNames,
  3739.       LCID lcid,
  3740.       DISPID FAR* rgdispid) PURE;
  3741.  
  3742.     STDMETHOD(Invoke)(
  3743.       THIS_
  3744.       DISPID dispidMember,
  3745.       REFIID riid,
  3746.       LCID lcid,
  3747.       WORD wFlags,
  3748.       DISPPARAMS FAR* pdispparams,
  3749.       VARIANT FAR* pvarResult,
  3750.       EXCEPINFO FAR* pexcepinfo,
  3751.       UINT FAR* puArgErr) PURE;
  3752. #endif
  3753.  
  3754.     /* _dispVBBuildEvents methods:
  3755.     void BeginCompile(VBProject FAR* VBProject);
  3756.     void EnterRunMode(void);
  3757.     void EnterDesignMode(void);
  3758.     */
  3759. };
  3760.  
  3761. DEFINE_GUID(CLSID_VBBuildEvents,0xCC62AD83L,0x99EE,0x11D1,0xB6,0xE0,0x00,0xA0,0xC9,0x0F,0x27,0x44);
  3762.  
  3763. #ifdef __cplusplus
  3764. class VBBuildEvents;
  3765. #endif
  3766.  
  3767. DEFINE_GUID(IID_Events2,0xCC62AD84L,0x99EE,0x11D1,0xB6,0xE0,0x00,0xA0,0xC9,0x0F,0x27,0x44);
  3768.  
  3769. /* Definition of interface: Events2 */
  3770. #undef INTERFACE
  3771. #define INTERFACE Events2
  3772.  
  3773. DECLARE_INTERFACE_(Events2, Events)
  3774. {
  3775. BEGIN_INTERFACE
  3776. #ifndef NO_BASEINTERFACE_FUNCS
  3777.  
  3778.     /* IUnknown methods */
  3779.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  3780.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  3781.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  3782.  
  3783.     /* IDispatch methods */
  3784.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  3785.  
  3786.     STDMETHOD(GetTypeInfo)(
  3787.       THIS_
  3788.       UINT itinfo,
  3789.       LCID lcid,
  3790.       ITypeInfo FAR* FAR* pptinfo) PURE;
  3791.  
  3792.     STDMETHOD(GetIDsOfNames)(
  3793.       THIS_
  3794.       REFIID riid,
  3795.       OLECHAR FAR* FAR* rgszNames,
  3796.       UINT cNames,
  3797.       LCID lcid,
  3798.       DISPID FAR* rgdispid) PURE;
  3799.  
  3800.     STDMETHOD(Invoke)(
  3801.       THIS_
  3802.       DISPID dispidMember,
  3803.       REFIID riid,
  3804.       LCID lcid,
  3805.       WORD wFlags,
  3806.       DISPPARAMS FAR* pdispparams,
  3807.       VARIANT FAR* pvarResult,
  3808.       EXCEPINFO FAR* pexcepinfo,
  3809.       UINT FAR* puArgErr) PURE;
  3810.  
  3811.     /* Events methods */
  3812.     STDMETHOD(get_VBProjectsEvents)(THIS_ VBProjectsEvents FAR* FAR* ppceNew) PURE;
  3813.     STDMETHOD(get_VBComponentsEvents)(THIS_ VBProject FAR* VBProject, VBComponentsEvents FAR* FAR* pcceNew) PURE;
  3814.     STDMETHOD(get_ReferencesEvents)(THIS_ VBProject FAR* VBProject, ReferencesEvents FAR* FAR* prceNew) PURE;
  3815.     STDMETHOD(get_VBControlsEvents)(THIS_ VBProject FAR* VBProject, VBForm FAR* VBForm, VBControlsEvents FAR* FAR* prceNew) PURE;
  3816.     STDMETHOD(get_SelectedVBControlsEvents)(THIS_ VBProject FAR* VBProject, VBForm FAR* VBForm, SelectedVBControlsEvents FAR* FAR* prceNew) PURE;
  3817.     STDMETHOD(get_CommandBarEvents)(THIS_ IDispatch * CommandBarControl, CommandBarEvents FAR* FAR* prceNew) PURE;
  3818.     STDMETHOD(get_FileControlEvents)(THIS_ VBProject FAR* VBProject, FileControlEvents FAR* FAR* prceNew) PURE;
  3819. #endif
  3820.  
  3821.     /* Events2 methods */
  3822.     STDMETHOD(get_VBBuildEvents)(THIS_ VBBuildEvents FAR* FAR* ppceNew) PURE;
  3823. };
  3824.  
  3825. #endif
  3826.